*,arg,*args,**kwargs的使用

1、* 号的使用:将列表(元组/字符串)的元素拆开作为位置参数传给函数,将字典的键传参。

s="123"
tup = (1,2,3)
lst = [1,2,3]
dic={"a":1,"b":2,"c":3}
def f(a,b,c):
    print(a,b,c)

f(*s)
f(*tup)
f(*lst)
f(*dic)

"""
1 2 3
1 2 3
1 2 3
a b c
"""

2、*args:将传入的参数组装成元组。

第一个参数是普通参数,之后的参数被*args组装成元组。

def f(a,*args):
    print(a)
    print(args)

f(1,2,3)
"""
1
(2, 3)
"""

3、**kwargs将传入的参数组装成字典。第一个参数是普通参数,之后的参数被组装成元组合字典。

def f(n,*args,**kwargs):
    print(n)
    print(args)
    print(kwargs)

f(1,2,3,a=1,b=2)
"""
1
(2, 3)
{'a': 1, 'b': 2}
"""

4、**号的作用:读取字典的值作为参数传给函数。

def f(a,b,c):
    print(a,b,c)

dic={"a":1,"b":2,"c":3}
f(**dic)
"""
1 2 3
"""
原文地址:https://www.cnblogs.com/yijierui/p/13869916.html