0
点赞
收藏
分享

微信扫一扫

python中*args和**kwargs的用法

君之言之 2022-04-13 阅读 69
python

*args和**kwargs:属于可变参数

*args会将传入的参数放入名为args的元组中
**kwargs会将传入的参数放入名为kwargs的字典中

def test1(*args,**kwargs):
    print(args)
    print(kwargs)

test1(1,2,3,4,5,6,a=7,b=8)
(1, 2, 3, 4, 5, 6)
{'a': 7, 'b': 8}

在形式参数前面加一个*号,它会收集所有剩下没有配对的实际参数位置参数
*: 一个*号只能表示位置参数

def test1(a,b,c,*args):
    print(a)
    print(b)
    print(c)
    print(args)

test1(1,2,4,5,6,7)
1
2
4
(5, 6, 7)

**: 只能收集关键字参数,打印的结果为字典形式
作用:在函数定义的时候,不知道有多少个实际参数会传入

def test2(**kwargs):
    print(kwargs)

test2(a=1,b=2,c=3,d=4)
{'a': 1, 'b': 2, 'c': 3, 'd': 4}

而在工作中往往*args**kwargs一起使用

def test2(*args,**kwargs):
    print(args)
    print(kwargs)

test2(6,8,9,7,a=1,b=2,c=3,d=4)
(6, 8, 9, 7)
{'a': 1, 'b': 2, 'c': 3, 'd': 4}
举报

相关推荐

0 条评论