摘要:另外還需要注意與列表參數(shù)進行區(qū)分,列表參數(shù)的號是緊跟參數(shù)的,而非獨占一個位置且列表參數(shù)可以傳零至多個值但強制性關(guān)鍵字參數(shù)在傳值時不可以缺省除非其有默認值,且必須使用關(guān)鍵字賦值參考
直接看一個正常的函數(shù)及其調(diào)用:
def dog(name, host, age): print(name, host, age) dog("dobi", "xuzhoufeng", 2) #dobi xuzhoufeng 2
上例中,函數(shù)有三個位置參數(shù),我們在調(diào)用中在相應(yīng)位置傳遞對應(yīng)值即可,而 keyword-only arguments 其形式是這樣子的:
def dog(name, host, *, age): print(name, host, age)
參數(shù)中有一個 “*” 號,在該符號之后的所有參數(shù)(可一至多個)均被稱為強制關(guān)鍵字參數(shù),如果按照位置參數(shù)的方式對這些參數(shù)傳值:
dog("dobi", "xuzhoufeng", 2) #TypeError: dog() takes 2 positional arguments but 3 were given
就會出現(xiàn) TypeError,正確的傳值形式為:
dog("dobi", "xuzhoufeng", age = 2) #dobi xuzhoufeng 2
也即這里的age 必須使用關(guān)鍵字參數(shù)的形式進行傳值。
另外 keyword-only arguments 還需要注意與列表參數(shù)進行區(qū)分,列表參數(shù)的 "*" 號是緊跟參數(shù)的,而非獨占一個位置,且列表參數(shù)可以傳零至多個值:
def dog(name, host, *age): print(name, host, age) dog("dobi", "xuzhoufeng") #dobi xuzhoufeng
但強制性關(guān)鍵字參數(shù)在傳值時不可以缺?。ǔ瞧溆心J值),且必須使用關(guān)鍵字賦值:
dog("dobi", "xuzhoufeng") #TypeError: dog() missing 1 required keyword-only argument: "age" def dog(name, host, *, age = 2): print(name, host, age) dog("dobi", "xizhoufeng") #dobi xuzhoufeng
參考:
PEP 3102
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/37977.html
Python 中通過函數(shù)定義所創(chuàng)建的用戶自定義函數(shù)對象均具有一些特殊屬性,需要注意的是這里介紹的是自定義函數(shù)(function類型)的特殊屬性,而非方法(method 類型)的特殊屬性,函數(shù)和方法的特熟屬性以及默認的返回值可能不盡相同。 對于大多數(shù)特殊屬性,可以通過下面這個例子示范一下: class Test(): def func(self, v = dog): 這里演...
摘要:調(diào)用函數(shù)時,必須傳入且傳入的兩個值按照位置順序依次賦給參數(shù)和,若缺省,則會報錯。例如二默認參數(shù)在函數(shù)定義中,為參數(shù)預(yù)先定義默認值。執(zhí)行相當(dāng)于調(diào)用如果要求的四次方,則需要執(zhí)行設(shè)置默認參數(shù)的好處默認參數(shù)可以簡化函數(shù)的調(diào)用,降低調(diào)用函數(shù)的難度。 題外話:因為時間關(guān)系,沒能保持一定的更新頻率。但還是會一直堅持的~ 之前介紹了Python函數(shù)的定義,今天分享一下Python函數(shù)的參數(shù)吧!內(nèi)容會...
摘要:上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)內(nèi)置函數(shù)返回對象的長度元素個數(shù)。對表示單個字符的字符串,返回代表它碼點的整數(shù)。上一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù)下一篇文章標(biāo)準(zhǔn)庫內(nèi)置函數(shù) 上一篇文章:Python標(biāo)準(zhǔn)庫---3、內(nèi)置函數(shù)(G-H-I-J-K)下一篇文章:Python標(biāo)準(zhǔn)庫---5、內(nèi)置函數(shù)(P-K-R) 內(nèi)置函數(shù): showImg(https://segmentfault.com...
摘要:它的目標(biāo)就是在不減慢你編程速度的前提下,幫助你來編寫簡潔而又正確的代碼。對于這種情況,我們就需要有條件來控制某些屬性不能為非法值。所以,一定要在里面某個錯誤。 使用attrs解放雙手 大家好,這一期我想和大家分享一個OOP編程的高效神器:attrs庫 首先我們來介紹下 attrs 這個庫,其官方的介紹如下: attrs 是這樣的一個 Python 工具包,它能將你從繁綜復(fù)雜的實現(xiàn)上解脫...
摘要:本文講解常用種數(shù)據(jù)類型通過剖析源碼弄清楚每一種數(shù)據(jù)類型所有的內(nèi)置函數(shù),理解每一個函數(shù)的參數(shù)返回值使用場景是什么。 本文講解Python常用7種數(shù)據(jù)類型:int, float, str, list, set, dict. 通過剖析源碼弄清楚每一種數(shù)據(jù)類型所有的內(nèi)置函數(shù),理解每一個函數(shù)的參數(shù)、返回值、使用場景是什么。 一、整型 int Python3.6源碼解析 class int(obj...
閱讀 1006·2023-04-25 14:41
閱讀 2460·2021-09-28 09:35
閱讀 3631·2019-08-30 15:53
閱讀 1949·2019-08-29 15:26
閱讀 1073·2019-08-28 17:59
閱讀 4336·2019-08-26 13:45
閱讀 2847·2019-08-26 13:33
閱讀 1650·2019-08-26 11:46