python参数类型排序:位置参数 默认参数 关键字参数 *位置参数 **关键字参数
位置参数 && 默认参数 && 关键字参数 && *位置参数 &&**关键字参数
位置参数:调用函数时所传参数的位置必须与定义函数时参数的位置相同,比如name,age
关键字参数:使用关键字参数会指定参数值赋给哪个形参,调用时所传参数的位置可以任意,后面必须是变量,不传就没有比如data="helloworld",data=data
默认参数:默认参数:默认参数的赋值只会在函数定义的时候绑定一次,默认值不会再被修改一般不变,后面必须是具体数据,不传也有比如data="helloworld"
*位置参数:可接受任意数量的位置参数(元组);只能作为最后一个位置参数出现,其后参数均为关键字参数(name,age,)
**关键字参数:可接受任意数量的关键字参数(字典);只能作为最后一个参数出现,{'sex':'male','province':'cantonese'}
b='helloworld'
def foo(x,a=4,data=b,*args,**kwargs): print(x) print(a) print(args) print(kwargs)
顺序
位置参数----->默认参数(关键字参数)----->*args位置参数----->**关键字参数