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

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

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

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

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

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

 运行结果:

 

posted @   万笑佛  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示