*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}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/74121.html