在函数定义阶段括号内定义的参数,称之为形式参数,简称形参,本质就是变量名。函数
def func(x, y): print(x) print(y)
在函数调用阶段括号内传入的参数,称之为实际参数,简称实参,本质上就是变量的值。code
func(1,2)
在函数定义阶段。按照从左到右的顺序依次定义参数,称之为位置形参it
def func(x, y): print(x) print(y)
特色:按照位置定义的形参,都必须被传值,多一个不行,少一个也不行io
在函数调用阶段,按照从左到右的顺序以此定义的实参,称之为实参class
func(1,2)
变量
特色:按照位置为对应的形参传值总结
在调用函数时,按照key=value的形式为指定的参数传值,称之为关键字实参word
func(x=1,y=2)
di
特色:能够打破位置的限制,可是你仍能够为指点的形参赋值
注意:
func(x, y=2) func(y=2, x) # SyntaxError: positional argument follows keyword argument func(x, x=1) # NameError: name 'x' is not defined
在定义阶段就已经被赋值
def func(x, y=10): print(x) print(y) func(2)
特色:在定义阶段就已经被赋值,意味着在调用时能够不用为其赋值。
注意:
m = 123 def b(x=m): print(x) m = 111 b() #123