初学Python看到代码中类似func(*args, **kwargs)这样的定义时,经常感到一头雾水。
下面通过一个简单的例子来解释Python函数可变参数args及kwargs的意思:
*args表示任何多个无名参数,它是一个tuple
**kwargs表示关键字参数,它是一个dict
同时使用 *args 和 **kwargs 时,args 参数列必须要在 kwargs 前,要是像foo(1,a=1,b=2,c=3,2,3)这样调用的话,则会提示语法错误“SyntaxError: non-keyword arg after keyword arg”。
测试代码如下:
1 | def foo(*args,**kwargs): |
执行结果如下:
1 | args= (1, 2, 3) |
若还是不能理解的话,建议阅读这篇文章:http://blog.csdn.net/FeiSan/article/details/1729905
赏
使用支付宝打赏
使用微信打赏
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏
扫描二维码,分享此文章