当我们声明一个诸如 *args 的星号参数时,从此处开始直到结束的所有位置参数 (Positional Arguments)都将被收集并汇集成一个称为“args”的元组(Tuple)。
类似地,当我们声明一个诸如 **kwargs 的双星号参数时,从此处开始直至结束的所有关键字 参数都将被收集并汇集成一个名为 kwargs 的字典(Dictionary)。
举例:
def total(a, *name, **numbers):
print(a) #输出a
print(name) #输出name,类型为元祖
print(type(name))
print(numbers) #输出numbers,类型为字典
print(type(numbers))
total(10,1,2,3,Jack=1123,John=2231,Inge=1560)
运行结果:
10
(1, 2, 3)
<class 'tuple'>
{'John': 2231, 'Jack': 1123, 'Inge': 1560}
<class 'dict'>