Python语言中参数中*和**的作用

*args是非关键字参数,用于元组,**kw是关键字参数,用于字典
看一个综合实例:

def func1(a1,b1=0,*args,**kw):
    print("a1=",a1,"b1=",b1,"args=",args,"kw=",kw)

func1(1,2,3,4,5,6,a=1,b=2,c=3)

输出:

a1= 1 b1= 2 args= (3, 4, 5, 6) kw= {'a': 1, 'b': 2, 'c': 3}

通过在实参前加一个星号(*)或两个星号(**)来对列表(list)、元组(tuple)或字典(dict)

def func1(*args1):
    print(type(args1))
    print(args1)
    print(*args1)



a = [1,2,3,4,5]  # 列表
b = (1,2,3,4,5)  # 元组
func1(a)
print('\n')
func1(*a)
print('\n')
func1(b)
print('\n')
func1(*b)

输出:

<class 'tuple'>
([1, 2, 3, 4, 5],)
[1, 2, 3, 4, 5]


<class 'tuple'>
(1, 2, 3, 4, 5)
1 2 3 4 5


<class 'tuple'>
((1, 2, 3, 4, 5),)
(1, 2, 3, 4, 5)


<class 'tuple'>
(1, 2, 3, 4, 5)
1 2 3 4 5
def func2(**args2):
    print(type(args2))
    print(args2)

a = {'one':1, "two":"2", "three":"3"}
func2(**a)

func2(a=1,b=2,c=3)

输出:

<class 'dict'>
{'one': 1, 'two': '2', 'three': '3'}
<class 'dict'>
{'a': 1, 'b': 2, 'c': 3}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值