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 """