1、
>>> def a(*xxx):
print("total length is %d" % len(xxx))
print("the second element is :",xxx[1])
>>> a("aaa","bbb","ccc","ddd","eee","fff")
total length is 6
the second element is : bbb
>>> def a(*xxx,m):
print("collection parameter is:",xxx)
print("keyword parameter is :",m)
>>> a(1,2,3,4,5)
Traceback (most recent call last):
File "<pyshell#616>", line 1, in <module>
a(1,2,3,4,5)
TypeError: a() missing 1 required keyword-only argument: 'm'
>>> a(1,2,3,4,m = 5) ## 收集参数之外的参数使用关键字参数
collection parameter is: (1, 2, 3, 4)
keyword parameter is : 5
>>> def a(*xxx,m = 5): ## 收集参数之外的参数使用默认参数
print("collection parameter is :",xxx)
print("keyword parameter is :", m)
>>> a(1,2,3,4,5,6)
collection parameter is : (1, 2, 3, 4, 5, 6)
keyword parameter is : 5
2、
>>> def a(*xxx): ## 单星号收集参数打包为元组
print(type(xxx))
>>> a(111,222,333,444)
<class 'tuple'>
>>> def b(**xxx): ## 双型号收集参数打包为字典
print(type(xxx))
>>> b(a = "1111",b = "2222",c = "3333")
<class 'dict'>