python中定义函数时如何书写可变参数和默认参数
参数名前面加*是可变位置参数,
加**是可变关键字参数;
参数名=默认值可以用来为参数指定默认值。
下面是一个例子:
#/使前面的参数成为仅仅是位置参数
def f(a=1,b=2,/,c=3,*args,**kwargs):print(a,b,c,*args,kwargs)
def f2(a=1,b=2,c=3,*args,**kwargs):print(a,b,c,*args,kwargs)
#*使后面的参数成为仅仅是关键字参数
def f3(a=1,b=2,*,c=3,d=4):print(a,b,c,d)
#/使前面的参数成为仅仅是位置参数
def f4(a=1,b=2,/,c=3,d=4):print(a,b,c,d)
f()
f(11,22)
#f(a=11,b=22)
f(c=666)
f(1,2,3,4,5,x=5,y=6)
f2()
f2(a=11,b=22)
f2(c=888)
f2("a","b","c",1,2,p="ok")
f3(1001,2222)
f3(a=1001)
f3(111,c=333,d=444)
f3(6,6,c=6,d=6)
#f3(6,6,6,6)
f4(1001,2222)
#f4(1001,b=2222)
f4(1001)
#f4(a=1001)
f4(111,c=333,d=444)
f4(1,2,3,4)
运行结果截图如下: