https://blog.csdn.net/keycoder/article/details/79469222
args与位置参数和默认参数混用的情况下
示例一、(三者顺序是:位置参数、默认参数、*args)(注意三者的顺序)
*args:(表示参数元组)
def foo(x,y=1,*args):
pass
foo (1,2,3,4,5) // 其中的x为1,y=1的值被2替换,3,4,5都给args,即args=(3,4,5)
1
2
3
4
示例二、(三者顺序是:位置参数、*args、默认参数)
def foo(x,*args,y=1):
pass
foo (1,2,3,4,5) // 其中的x为1,2,3,4,5都给args,即args=(2,3,4,5),y始终为1
1
2
3
**kwargs与位置参数、*args、默认参数混着用的情况下
**kwargs:(表示的就是形参中按照关键字传值把多余的传值以字典的方式呈现)
位置参数、*args、**kwargs三者的顺序必须是位置参数、*args、**kwargs,不然就会报错:
示例三:
def foo(x,*args,**kwargs):
pass
foo (1,2,3,4,y=5,a=6,b=7) // 其中的x为1,2,3,4都给args,即args=(3,4,5),y=5,a=6,b=7以字典形式传给kwargs,
1
2
3
即kwargs={‘y’:5,’a’:6,’b’:7}
————————————————
版权声明:本文为CSDN博主「ClownXu1130」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/keycoder/article/details/79469222
标签:位置,python,args,默认,参数,kwargs,foo