“Python可变长参数*args **kwargs”的版本间的差异
跳到导航
跳到搜索
docker>Evan (→参考) |
小 (导入1个版本) |
2019年10月14日 (一) 13:52的最新版本
python可变长参数*args **kwargs
在Python中,有两种变长参数,分别是元组(非关键字参数)和字典(关键字参数), 其参数以一个*开头表示任意长度的元组[tuple],可以接收连续一串参数,参数以两个*开头表示一个字典[dict],即”key:value”,接受连续任意多个参数。 evan@evanpc:~/test$ cat arg.py def variable(*args,**kwargs): print args print kwargs print "\n" variable(1,2,3,4,5,"www","i-it","info") ###执行输出tuple### evan@evanpc:~/test$ python arg.py (1, 2, 3, 4, 5, 'www', 'i-it', 'info') {} ###执行输出dict### variable(www=1,it=2,info=3) evan@evanpc:~/test$ python arg.py () {'info': 3, 'www': 1, 'it': 2} ##一起来## variable(1,2,3,www=1,it=2,info=3) evan@evanpc:~/test$ python arg.py (1, 2, 3) {'info': 3, 'www': 1, 'it': 2} 呵呵,知道*args和**kwargs是什么了吧。还有一个很漂亮的用法,就是创建字典: def kw_dict(**kwargs): return kwargs print kw_dict(a=1,b=2,c=3) == {'a':1, 'b':2, 'c':3} 其实python中就带有dict类,使用dict(a=1,b=2,c=3)即可创建一个字典了
参考
http://blog.csdn.net/woshixiongjin/article/details/24406925