python 函數(shù)參數(shù):必選參數(shù)、默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù) 和 命名關(guān)鍵字參數(shù)
在 Python 中定義函數(shù),可以用必選參數(shù)、默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)和命名關(guān)鍵字參數(shù) 5種參數(shù)形式。
這 5 種參數(shù)都可以組合起來(lái)使用,但是注意,參數(shù)定義的順序必須是:必選參數(shù)、默認(rèn)參數(shù)、可變參數(shù)/命名關(guān)鍵字參數(shù)和關(guān)鍵字參數(shù)。
def f1(a,b,c=0,*args,**kw):a,b 為必選參數(shù)
c=0 為默認(rèn)參數(shù)
*args 為可變參數(shù),可變參數(shù)允許你傳入 0個(gè)或任意個(gè)參數(shù),這些可變參數(shù)在函數(shù)調(diào)用時(shí)自動(dòng)組裝為一個(gè)tuple
**kw 為關(guān)鍵字參數(shù),關(guān)鍵字參數(shù)允許你傳入 0個(gè)或任意個(gè)含參數(shù)名的參數(shù),這些關(guān)鍵字參數(shù)在函數(shù)內(nèi)部自動(dòng)組裝為一個(gè)dict
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
def person(name,age,*,city='hongkong',job='coder'): print(name,age,city,job)person('scofff',212,city='homy',job='eatter')* 后面的兩個(gè)參數(shù)為命名關(guān)鍵字參數(shù)
對(duì)于關(guān)鍵字參數(shù),函數(shù)的調(diào)用者可以傳入任意不受限制的關(guān)鍵字參數(shù),至于到底傳入了哪些,就需要在函數(shù)內(nèi)部通過(guò) kw 檢查。 與關(guān)鍵字參數(shù)**kw不同,命名關(guān)鍵字參數(shù)需要一個(gè)特殊分隔符*,*后面的參數(shù)被視為命名關(guān)鍵字參數(shù),如果沒有*號(hào),那么后面的參數(shù)將被視為普通的未位置參數(shù)。命名關(guān)鍵字參數(shù)必須傳入?yún)?shù)名,而命名關(guān)鍵字參數(shù)可以有缺省值,這和位置參數(shù)不同。
新聞熱點(diǎn)
疑難解答
網(wǎng)友關(guān)注