python *args **kwargs理解

  1. *args表示任意多个无名参数,是个tuple(元组)

  2. **kwargs表示关键字参数,是个dict(字典)

这两个是python中的可变参数

注意:同时使用args和**kwargs时,args参数必须在**kwargs前边

1
2
3
4
5
6
7
8
9
def foo(*args, **kwargs):
print 'args = ', args
print 'kwargs = ', kwargs
if name == '__main__':
foo(1,2,3,4)
foo(a=1, b=2, c=3, d=4)
foo(1,2,3,4,a=1, b=2, c=3, b=4)
foo('a', 1, None, a=1, b='2', c=3)
如果您觉得对您有帮助,谢谢您的赞赏!