Python : 什么是*args和**kwargs?
[size=6][color=Red]Python : 什么是*args和**kwargs? [/color][/size]先看段代码:[code]def foo(*args, **kwargs):
print 'args = ', args
print 'kwargs = ', kwargs
print '---------------------------------------'
if __name__ == '__main__':
foo(1,2,3,4)
foo(a=1,b=2,c=3)
foo(1,2,3,4, a=1,b=2,c=3)
foo('a', 1, None, a=1, b='2', c=3)[/code]事实上*args和**kwargs很象C语言中指针类型的形参,那么在python中*args的意思就是通过实参返回一个元组,**kwargs通过实参返回一个字典(这里以变量名作为键,变量值作为值)
以上代码大家运行一下就能看到结果,仔细观察就能体会其中的奥秘了。
本文原创,如果转载请注明出处,python中国版权所有[url]www.okpython.com[/url]
页:
[1]