python中的*args **kw

*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前

猜你喜欢

转载自blog.csdn.net/qq_40061206/article/details/90747822