python3中的*args 和 **kwargs

首先让我告诉你, 其实并不是必须写成*args 和**kwargs 只有变量前面的* (星号)才是必须的。 你也可以写成*var 和**vars 而写成 *args **kwargs 只是一个通俗的命名约定。
def test_args_kwargs(arg1, arg2, arg3):
    print("arg1:", arg1)
    print("arg2:", arg2)
    print("arg3:", arg3)

args = ("two", 3, 5)
test_args_kwargs(*args)
print("----------------------------------")
kwargs = {"arg3":3, "arg2":"two", "arg1":5}
test_args_kwargs(**kwargs)

运行结果:

arg1: two
arg2: 3
arg3: 5
----------------------------------
arg1: 5
arg2: two
arg3: 3



posted @ 2017-07-03 15:34  书灯  阅读(10)  评论(0)    收藏  举报  来源