1 #动态参数:*列表 **字典
2 def test1(x, *args): #只能用于位置参数
3 print(x)
4 print(args)
5 test1(5, 5, 2, 3) # 5, 2, 3传给args作为元组参数
6 #5
7 # (5, 2, 3)
8
9 test1(5, [2,3,6]) #[5, 3, 6]作为一个整体传给args作为元组中的第一个参数
10 # 5
11 # ([2, 3, 6],)
12
13 test1(5, *[2,3,6]) #遍历[5, 3, 6]作为agrs元组的元素
14 # 5
15 # (2, 3, 6)
16
17 test1(5, *(2,3,6)) #遍历(5, 3, 6)作为agrs元组的元素
18 # # 5
19 # # (2, 3, 6)
20
21 test1(5, **{'name': 'chen'}) #遍历(5, 3, 6)作为agrs元组的元素
22 # # 5
23 # # (2, 3, 6)
24
25 def test2(x, **kwargs): #可用于位置参数与关键字参数
26 print(x)
27 print(kwargs)
28 test2(1, y = 3, z = 5)
29 # 1
30 # {'y': 3, 'z': 5}
31
32 test2(6, **{'y' : 5, 'z' : 9})
33 # 6
34 # {'y': 5, 'z': 9}