def func(a,b,c,*args,**kw): print('a=',a,'b=',b,'c=',c,'args=',args,'kw=',kw)
必选参数,默认参数,可变参数,关键字参数
def func(a, b, c=0, *args, **kw):
必选参数 | 默认参数 | 可变参数 | 关键字参数 | |
a | c=0 | *agrs | **kw | |
#添加默认参数
def power(x,n=2):
一是必选参数在前,默认参数在后
二是如何设置默认参数。
当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面。
使用频率高de可以设置为默认参数
默认参数必须指向不变对象!
可变参数
定义可变参数和定义list或tuple参数相比,仅仅在参数前面加了一个*
号
定义 | def calc(numbers) | def calc(*numbers) |
调用 | calc([1,2,3]) or calc((1,2,3)) |
calc(1,2.3) |
关键字参数
可变参数允许你传入0个或任意个参数,这些可变参数在函数调用时自动组装为一个tuple。而关键字参数允许你传入0个或任意个含参数名的参数,这些关键字参数在函数内部自动组装为一个dict
关键字参数 | 可变参数 | |
传入0个或任意个参数 | 0个或任意个含参数名的参数 | |
自动组装为一个tuple | 自动组装为一个dict | |
def calc(*numbers) | def person(name,age,**kw) | |