Python函數(shù)關(guān)鍵字參數(shù)及用法詳解
目前為止,我們使用函數(shù)時所用的參數(shù)都是位置參數(shù),即傳入函數(shù)的實際參數(shù)必須與形式參數(shù)的數(shù)量和位置對應(yīng)。而本節(jié)將介紹的關(guān)鍵字參數(shù),則可以避免牢記參數(shù)位置的麻煩,令函數(shù)的調(diào)用和參數(shù)傳遞更加靈活方便。
關(guān)鍵字參數(shù)是指使用形式參數(shù)的名字來確定輸入的參數(shù)值。通過此方式指定函數(shù)實參時,不再需要與形參的位置完全一致,只要將參數(shù)名寫正確即可。
因此,Python 函數(shù)的參數(shù)名應(yīng)該具有更好的語義,這樣程序可以立刻明確傳入函數(shù)的每個參數(shù)的含義。
例如,在下面的程序中就使用到了關(guān)鍵字參數(shù)的形式給函數(shù)傳參:
def dis_str(str1,str2):
print("str1:",str1)
print("str2:",str2)
#位置參數(shù)
dis_str("http://jb51.nett/python/","http://jb51.net/shell/")
#關(guān)鍵字參數(shù)
dis_str("http://jb51.net/python/",str2="http://jb51.net/shell/")
dis_str(str2="http://jb51.net/python/",str1="http://jb51.net/shell/")
程序執(zhí)行結(jié)果為:
str1: http://jb51.net/python/
str2: http://jb51.net/shell/
str1: http://jb51.net/python/
str2: http://jb51.net/shell/
str1: http://jb51.net/shell/
str2: http://jb51.net/python/
可以看到,在調(diào)用有參函數(shù)時,既可以根據(jù)位置參數(shù)來調(diào)用,也可以使用關(guān)鍵字參數(shù)(程序中第 8 行)來調(diào)用。在使用關(guān)鍵字參數(shù)調(diào)用時,可以任意調(diào)換參數(shù)傳參的位置。
當然,還可以像第 7 行代碼這樣,使用位置參數(shù)和關(guān)鍵字參數(shù)混合傳參的方式。但需要注意,混合傳參時關(guān)鍵字參數(shù)必須位于所有的位置參數(shù)之后。也就是說,如下代碼是錯誤的:
# 位置參數(shù)必須放在關(guān)鍵字參數(shù)之前,下面代碼錯誤 dis_str(str1="http://jb51.net/python/","http://jb51.net/shell/")
Python 解釋器會報如下錯誤:
SyntaxError: positional argument follows keyword argument
到此這篇關(guān)于Python函數(shù)關(guān)鍵字參數(shù)及用法詳解的文章就介紹到這了,更多相關(guān)Python函數(shù)關(guān)鍵字參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Django Admin后臺模型列表頁面如何添加自定義操作按鈕
這篇文章主要介紹了Django Admin后臺模型列表頁面如何添加自定義操作按鈕,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-11-11
Python3.6 Schedule模塊定時任務(wù)(實例講解)
下面小編就為大家?guī)硪黄狿ython3.6 Schedule模塊定時任務(wù)(實例講解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11
Pytorch中關(guān)于BatchNorm2d的參數(shù)解釋
這篇文章主要介紹了Pytorch中關(guān)于BatchNorm2d的參數(shù)解釋,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12

