#!/usr/bin/env python
#-*- coding:utf8 -*-
"""
*args和**kwargs这两个参数是Python中的可变参数。
*args是一个tuple,表示任意多个无名参数(non-keyword arg);
**kwargs是一个dict,表示任意多个关键字参数(keyword arg)。
同时使用*args和**kwargs时,必须*args参数列要在**kwargs前。
"""
def test(*args, **kwargs):
print 'args:', args
print 'kwargs', kwargs
print '----------------------------'
if __name__ == '__main__':
test(1, 2, 3)
test(a=1, b=2, c=3)
test(1, 2, 3, a=1, b=2, c=3)
"""
args: (1, 2, 3)
kwargs {}
----------------------------
args: ()
kwargs {'a': 1, 'c': 3, 'b': 2}
----------------------------
args: (1, 2, 3)
kwargs {'a': 1, 'c': 3, 'b': 2}
----------------------------
"""