Python函數(shù)關(guān)鍵字參數(shù)及用法詳解
目前為止,我們使用函數(shù)時(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í)參時(shí),不再需要與形參的位置完全一致,只要將參數(shù)名寫正確即可。
因此,Python 函數(shù)的參數(shù)名應(yīng)該具有更好的語義,這樣程序可以立刻明確傳入函數(shù)的每個(gè)參數(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ù)時(shí),既可以根據(jù)位置參數(shù)來調(diào)用,也可以使用關(guān)鍵字參數(shù)(程序中第 8 行)來調(diào)用。在使用關(guān)鍵字參數(shù)調(diào)用時(shí),可以任意調(diào)換參數(shù)傳參的位置。
當(dāng)然,還可以像第 7 行代碼這樣,使用位置參數(shù)和關(guān)鍵字參數(shù)混合傳參的方式。但需要注意,混合傳參時(shí)關(guān)鍵字參數(shù)必須位于所有的位置參數(shù)之后。也就是說,如下代碼是錯(cuò)誤的:
# 位置參數(shù)必須放在關(guān)鍵字參數(shù)之前,下面代碼錯(cuò)誤 dis_str(str1="http://jb51.net/python/","http://jb51.net/shell/")
Python 解釋器會(huì)報(bào)如下錯(cuò)誤:
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)文章
學(xué)會(huì)python自動(dòng)收發(fā)郵件 代替你問候女友
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)自動(dòng)收發(fā)郵件,代替你問候女友,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-05-05
GitHub 熱門:Python 算法大全,Star 超過 2 萬
4 月 27 日,GitHub 趨勢榜第 3 位是一個(gè)用 Python 編碼實(shí)現(xiàn)的算法庫,Star 數(shù)早已達(dá)到 26000+2019-04-04
ubuntu系統(tǒng)下使用pm2設(shè)置nodejs開機(jī)自啟動(dòng)的方法
今天小編就為大家分享一篇ubuntu系統(tǒng)下使用pm2設(shè)置nodejs開機(jī)自啟動(dòng)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-05-05
Python 支付整合開發(fā)包的實(shí)現(xiàn)
這篇文章主要介紹了Python 支付整合開發(fā)包的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
讓你的Python代碼實(shí)現(xiàn)類型提示功能
今天小編就為大家分享一篇讓你的Python代碼實(shí)現(xiàn)類型提示功能,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11
Numpy中的數(shù)組搜索中np.where方法詳細(xì)介紹
這篇文章主要介紹了Numpy中的數(shù)組搜索中np.where方法詳細(xì)介紹,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
基于YUV 數(shù)據(jù)格式詳解及python實(shí)現(xiàn)方式
今天小編就為大家分享一篇基于YUV 數(shù)據(jù)格式詳解及python實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12

