成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python 的 Keyword-Only Arguments (強制關(guān)鍵字參數(shù))

沈建明 / 3098人閱讀

摘要:另外還需要注意與列表參數(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

相關(guān)文章

  • Python 自定義函數(shù)特殊屬性(收藏專用)

    Python 中通過函數(shù)定義所創(chuàng)建的用戶自定義函數(shù)對象均具有一些特殊屬性,需要注意的是這里介紹的是自定義函數(shù)(function類型)的特殊屬性,而非方法(method 類型)的特殊屬性,函數(shù)和方法的特熟屬性以及默認的返回值可能不盡相同。 對于大多數(shù)特殊屬性,可以通過下面這個例子示范一下: class Test(): def func(self, v = dog): 這里演...

    zhou_you 評論0 收藏0
  • Python - 函數(shù)參數(shù)

    摘要:調(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)容會...

    APICloud 評論0 收藏0
  • Python標(biāo)準(zhǔn)庫---4、內(nèi)置函數(shù)(L-M-N-O)

    摘要:上一篇文章標(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...

    MartinHan 評論0 收藏0
  • Python 面向?qū)ο缶幊蘋OP (四) 寫類神器:attrs

    摘要:它的目標(biāo)就是在不減慢你編程速度的前提下,幫助你來編寫簡潔而又正確的代碼。對于這種情況,我們就需要有條件來控制某些屬性不能為非法值。所以,一定要在里面某個錯誤。 使用attrs解放雙手 大家好,這一期我想和大家分享一個OOP編程的高效神器:attrs庫 首先我們來介紹下 attrs 這個庫,其官方的介紹如下: attrs 是這樣的一個 Python 工具包,它能將你從繁綜復(fù)雜的實現(xiàn)上解脫...

    netmou 評論0 收藏0
  • Python基礎(chǔ)——數(shù)據(jù)類型

    摘要:本文講解常用種數(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...

    ymyang 評論0 收藏0

發(fā)表評論

0條評論

沈建明

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<