python里的*与**
*与**用法详解
-
在函数的传参中使用*,意为将传入的所有值打包为一个元组
def add(*args): res = 0 print(args) for i in args: res += i return res
结果为
add(1,2,3,4)
(1, 2, 3, 4) 10
-
在函数的传参中使用,意为将传入的所有值打包为一个字典
def add(**args): res = 0 print(args) for i in args.values(): res += i return res
结果为
add(x=1,y=2,z=3)
{'x': 1, 'y': 2, 'z': 3} 6
-
在函数调用时使用*,意为解包
nums = [1,2,3,4] print(*nums)
1 2 3 4
-
在函数调用时使用**,意为解包
def add(a,b,c,d): return a+b+c+d
testa = {'a':1,'b':2,'c':3,'d':4} add(**testa)
10
参考:https://www.cnblogs.com/mo-nian/p/11842422.html
*与**不能脱离函数而单独使用