位置参数:按照从左到右的顺序依次排列
def my_max(a,b,c): print(a) print(b) print(c) my_max(1,2,3) #按位置定义的形参,必须被传值,值不能多也不能少 #按位置定义的实参,与形参一一对应
关键字参数:在定义实参时,遵循key=value定义
def my_max(a,b,c): print(a) print(b) print(c) my_max(b=1,c=2,a=3) #可以不用像位置实参那样要与形参一一对应,但是关键字参数在定义实参时,一定要按照key=value形式去定义
注意问题:
1、传参时,位置实参必须在关键字实参前
def my_max(a,b,c): print(a) print(b) print(c) my_max(a=1,2,3) #这种传参方式是错误的 #修改后 def my_max(a,b,c): print(a) print(b) print(c) my_max(1,2,c=3)
2、实参可以是关键字实参也可以是位置实参
def my_max(a,b): print(a) print(b) my_max(1,b=2) #有位置实参,也有关键字实参
3、一个形参不可以重复传值
def my_max(a,b): print(a) print(b) my_max(1,a=3,b=2) #a不可以重复传值