python3精要(27)-*与**解包

* 和** 可用于解包,具体来说,就是将集合拆散,解包
def f(stname,degree,inc=1):
   print(f"{stname}:{degree}=>{degree+inc}")
x=("张三",22,8)
f(x)

直接报错,

TypeError: f() missing 1 required positional argument: 'degree'

需要的是一系列位置参数,而不是所有参数集合成一个列表,需要*解包

def f(stname,degree,inc=1):
   print(f"{stname}:{degree}=>{degree+inc}")
x=("张三",22,8)
f(*x)

同理,基于关键字参数解包

def f(stname,degree,inc=1):
   print(f"{stname}:{degree}=>{degree+inc}")
x={'stname':"张三",'degree':22,'inc':8}
f(**x)
上一篇:通达OA最新RCE漏洞


下一篇:Renice INC:如何有效减去葡萄酒中的酒酸?