python 函数 形参前带*或者两个星** 收集元组或者字典,实参前带星*或者两个星** 解开序列或者字典

函数的形参前面带一个星*,代表着不定长参数,实际上是收集了不定长的实参,作为一个元组。

形参前面带两个星**,代表可以接收不定长参数,并且调用该函数时实参要指定参数名,实际上是收集了一个不定键个数的字典。

实参前带一个星*,表示解开当前的序列,再做为参数传递。

实参前带两个星**,表示解开当前的字典,再作为参数传递,字典的键key要和调用的函数的形参名要保持一致,不然会报错。

 1 def fun1(*parameter):
 2     print(type(parameter))
 3     print(parameter)
 4 
 5 def fun2(**parameter):
 6     print(type(parameter))
 7     print(parameter)
 8 
 9 def fun3(a,b):
10     print(type(a),type(b))
11     print(a,b)
12 
13 fun1(1,2,3)
14 print('---------------')
15 fun2(x=1,y=2,z=3)
16 print('===============')
17 tuple1 = (2,4)
18 list1 = [2,4]
19 dict1 = {'a':2,'b':4}
20 fun3(*tuple1)
21 print('---------------')
22 fun3(*list1)
23 print('===============')
24 fun3(**dict1)

运行结果:

 

posted @ 2022-08-15 17:43  司徒韵然  阅读(462)  评论(0)    收藏  举报