函数的参数

函数的参数

形参

在函数定义阶段,函数名括号内的参数,称之为形式参数,简称形参,本质就是变量名。

 # 函数定义阶段函数名括号内的 x,y 就是形参,是用来接收实参的
def foo(x,y): 
    print(x,y)

实参

在函数调用阶段,函数名括号内的参数,称之为实际参数,简称实参,本质就是变量值。

def foo(x,y):
    print(x,y)
    
foo(13,14)  
# 函数调用阶段函数名括号内的 13,14 就是实参,用来传值给形参

位置参数

  • 位置形参

在函数定义阶段,按照从左到右的顺序依次定义的形参,称之为位置形参。

def func(x,y,z):
    print(x)
    print(y)
    print(z)
# 特点:按照位置定义的形参都必须被传值,多一个不行,少一个也不行。
  • 位置实参

在函数调用阶段,按照从左到右的顺序依次定义的实参,称之为位置实参。

def func(x,y,z):
    print(x)  # 13
    print(y)  # 14
    print(z)  # 5
    
func(13,14,5)
# 特点:按照位置一一对应形参,为其传值。

默认形参

在定义阶段就已经被赋值的形参,称之为默认形参。

def func(x,y,z=5):
	print(x)
    print(y)
    print(z)
    
func(13,14)
# 特点:在定义阶段就已经被赋值,调用时可以不用为其赋值。

注意:1. 位置形参必须放在默认形参的左边,也就是前面。

​ 2. 默认形参的值只在定义阶段赋值一次,也就是说默认参数的值在函数定义阶段就已经固定了。

m = 9
def foo(x=m):
    print(x)
  
m = 10
foo()  # 9

关键字实参

在调用函数时,按照 key = value的形式指名道姓为指定的形参传值,称之为关键字实参。

def func(x,y):
    print(x,y)  # 13 14
  
func(y=14,x=13)
# 特点:可以打破位置的限制,但仍能为指定的形参赋值。

注意:1. 可以混用位置实参和关键字实参,但是位置实参必须在关键字实参的左边。

​ 2. 可以混用位置实参和关键字实参,但不能对一个形参重复赋值。

def func(x,y):
    print(x,y)  
  
func(13,y=14,x=16)  # 报错,不能对同一个形参重复赋值。
posted @ 2019-07-09 15:59  光吃葡萄皮  阅读(189)  评论(0编辑  收藏  举报
回顶部