*args是非关键字参数,用于元组,kw是关键字参数,用于字典
def show(*args, **kw):
print('args =', args)
print('kw =', kw)
print('---------------------------')
pass
if __name__ == '__main__':
show(1,2,3,4)
show(a = 1, b = 2, c = 3)
show(1, 2, 3 ,4, a = 1, b = 2, c = 3)
show('a', 1, None, a = 1, b = '2', c = 3)
输出
args = (1, 2, 3, 4)
kw = {}
---------------------------
args = ()
kw = {'a': 1, 'b': 2, 'c': 3}
---------------------------
args = (1, 2, 3, 4)
kw = {'a': 1, 'b': 2, 'c': 3}
---------------------------
args = ('a', 1, None)
kw = {'a': 1, 'b': '2', 'c': 3}
---------------------------
*args表示任何多个非关键字参数,它是一个tuple;
**kw表示中任意多个关键字参数,它是一个dict。
同时使用*args和**kw时,必须*args参数列要在**kw前