溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python中*args與**kwargs有什么區(qū)別

發(fā)布時間:2021-10-18 09:18:37 來源:億速云 閱讀:121 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了Python中*args與**kwargs有什么區(qū)別,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

相信學(xué)Python的小伙伴肯定有這樣的尷尬局面,給一個函數(shù)不會用,

原因是:不知道參數(shù)列表中的類型是什么意思,比如初學(xué)者都會疑問的:*args和**kwargs到底是怎么用。

當(dāng)你知道這個時,我猜你肯定能會用好多函數(shù)了!

#*args的用法:當(dāng)傳入的參數(shù)個數(shù)未知,且不需要知道參數(shù)名稱時。

def func_arg(farg, *args):
    print("formal arg:", farg)
    for arg in args:
        print("another arg:", arg)
func_arg(1,"youzan",'dba','四塊五的妞')
print("-----------------------")

# 輸出結(jié)果如下:

#formal arg: 1
# another arg: youzan
# another arg: dba
# another arg: 四塊五的妞
# -----------------------

#**kwargs的用法:當(dāng)傳入的參數(shù)個數(shù)未知,但需要知道參數(shù)的名稱時(立馬想到了字典,即鍵值對)

def func_kwargs(farg, **kwargs):
    print("formal arg:", farg)
    for key in kwargs:
        print("keyword arg: %s: %s" % (key, kwargs[key]))
func_kwargs(1 ,id=1, name='youzan', city='hangzhou',age ='20',四塊五的妞是 = '來日方長的')
print('--------------------')

# 輸出結(jié)果如下:

# formal arg: 1
# keyword arg: id: 1
# keyword arg: name: youzan
# keyword arg: city: hangzhou
# keyword arg: age: 20
# keyword arg: 四塊五的妞是: 來日方長的

利用它轉(zhuǎn)換參數(shù)為字典

def kw_dict(**kwargs):
    return kwargs
print(kw_dict(a=1,b=2,c=3))

輸出結(jié)果如下:

# --------------------

# {'a': 1, 'b': 2, 'c': 3}

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Python中*args與**kwargs有什么區(qū)別”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI