首先让我告诉你, 其实并不是必须写成*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