欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pytho傳參kwargs及用法詳解

 更新時(shí)間:2024年05月27日 15:08:38   作者:weixin_42924890  
這篇文章主要介紹了pytho傳參kwargs及用法,函數(shù)傳參的時(shí)候簡(jiǎn)化傳參形式,無(wú)需指定參數(shù)名,本文結(jié)合實(shí)例代碼講解的非常詳細(xì),需要的朋友參考下吧

pytho傳參kwargs

Python代碼中有很多類(lèi)似的用法,第一次接觸的時(shí)候還是有很多疑惑的,為了方便記憶,因此梳理了一下。

# 使用模型進(jìn)行推理
with torch.no_grad():
    outputs = model(**encoded_texts)

對(duì)于一個(gè)dict類(lèi)型的變量**encoded_texts是取出value的值,而不考慮鍵。

def test_func(**kwargs):
    a = kwargs["a"]
    b = kwargs["b"]
    print(a)  # [1, 2, 3]
    print(b)  # hello test
dct = {"a": [1, 2, 3], "b": "hello test"}
test_func(**dct)

函數(shù)傳參的時(shí)候簡(jiǎn)化傳參形式,無(wú)需指定參數(shù)名。

Python 函數(shù)的參數(shù)傳遞 *args和 **kwargs

知識(shí)點(diǎn):

  • 在函數(shù)調(diào)用時(shí),*會(huì)以單個(gè)元素的形式解包一個(gè)元祖,使其成為獨(dú)立的參數(shù)。
  • 在函數(shù)調(diào)用時(shí),**會(huì)以鍵/值對(duì)的形式解包一個(gè)字典,使其成為獨(dú)立的關(guān)鍵字參數(shù)。
def f(a,*args):
    print(args)

f(1,2,3,4)
?```
輸出為:(2, 3, 4)
?```

雖然傳入1,2,3,4,但是解包為(1),(2,3,4),其中a是1,args是剩下的。

在python中,當(dāng)*和**符號(hào)出現(xiàn)在函數(shù)定義的參數(shù)中時(shí),表示任意數(shù)目參數(shù)。*arg表示任意多個(gè)無(wú)名參數(shù),類(lèi)型為tuple;**kwargs表示關(guān)鍵字參數(shù),為dict,使用時(shí)需將arg放在*kwargs之前,否則會(huì)有“SyntaxError: non-keyword arg after keyword arg”的語(yǔ)法錯(cuò)誤。

再看看**kwargs的參數(shù)傳遞的例子

def f(**kargs):
    print(kargs)
f(a=1,b=2) # 實(shí)際傳入?yún)?shù)是兩個(gè),但是給包裹在一起
?```output:
{'a': 1, 'b': 2}
?```
def person(name,age,**kw):
    print('name:',name,'age:',age,'other:',kw)
# 傳入4個(gè)參數(shù),自動(dòng)將后兩位  拼接到成字典
person('Adam', 45, gender='M', job='Engineer')
?```output
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
?```

再看看*args 和 **kwargs混合的例子

def h(a,*args,**kwargs):
    print(a,args,kwargs)
h(1,2,3,x=4,y=5)
# 丟進(jìn)去不確定參數(shù)的包裹:1,2,3,x=4,y=5
# 解包:1                    -a
# 解包:(2,3)               -*args
# 解包:{'x': 4, 'y': 5}     -**kwargs
?```output
1 (2, 3) {'x': 4, 'y': 5}
?```

到此這篇關(guān)于pytho傳參kwargs的文章就介紹到這了,更多相關(guān)pytho傳參kwargs內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論