)#其中的2,3,4,5都给了args
执行结果是:
1
2 1
(2, 3, 4, 5)
当args与位置参数和默认参数混用的情况下:(注意三者的顺序)
示例一、(三者顺序是:位置参数...print(args)
foo(1,2,3,4,5)#其中的x为1,y=1的值被2重置了,3,4,5都给了args
执行结果是:
1
2
3 1...**kwargs与位置参数、*args、默认参数混着用的问题:(注意顺序)
位置参数、*args、**kwargs三者的顺序必须是位置参数、*args、**kwargs,不然就会报错:
示例:
1...2
3
4
5 def foo(x,*args,**kwargs):
print(x)
print(args)
print(kwargs...)
foo(1,2,3,4,y=1,a=2,b=3,c=4)#将1传给了x,将2,3,4以元组方式传给了args,y=1,a=2,b=3,c=4以字典的方式给了kwargs
执行结果是:
1