python函数参数类型及顺序_python函数参数类型及其顺序
根據(jù)inspect模塊官文文檔中關(guān)于函數(shù)參數(shù)類型的相關(guān)說明,python函數(shù)參數(shù)共有五種類型,按順序分別為:POSITIONAL_ONLY、POSITIONAL_OR_KEYWORD、VAR_POSITIONAL、KEYWORD_ONLY、VAR_KEYWORD。如圖:
POSITIONAL_ONLY:參數(shù)值必須以位置參數(shù)的形式傳遞。python沒有明確的語法來定義POSITIONAL_ONLY類型的參數(shù),但很多內(nèi)建或擴展模塊的函數(shù)中常常會接收這種參數(shù)類型,實際使用中不多見,這里暫不考慮。
POSITIONAL_OR_KEYWORD:這種類型的參數(shù)在函數(shù)調(diào)用時既可以使用位置傳遞,也可以使用關(guān)鍵字傳遞,是最常見的一種參數(shù)類型。例如:
上圖中的參數(shù)a,b都是POSITIONAL_OR_KEYWORD類型,其中b為默認(rèn)值參數(shù),必須定義在非默認(rèn)值參數(shù)后面。
VAR_POSITIONAL:即 *args 參數(shù),屬于收集參數(shù)的一種,可以接收0個或多個位置參數(shù)。args是一個tuple,函數(shù)體可以直接從args中提取傳入的參數(shù)值。例如:
上圖中,*c為VAR_POSITIONAL參數(shù),可傳遞的參數(shù)值類型沒有限制。注意:如果函數(shù)調(diào)用時傳遞了VAR_POSITIONAL參數(shù),則POSITIONAL_OR_KEYWORD類型參數(shù)必須以位置參數(shù)的形式傳遞。
KEYWORD_ONLY:關(guān)鍵字參數(shù),函數(shù)調(diào)用時必須以關(guān)鍵字的形式傳遞參數(shù)值。例如:
上圖中,d,e,f為KEYWORD_ONLY參數(shù)。其中e為有默認(rèn)值的關(guān)鍵字參數(shù),函數(shù)調(diào)用時,關(guān)鍵字參數(shù)間的順序可以打亂,但必須在位置參數(shù)后面。
VAR_KEYWORD:即 **kwargs 參數(shù),屬于收集參數(shù)的一種,可以接收0個或多個關(guān)鍵字參數(shù)。kwargs是一個dict,函數(shù)體可以直接從kwargs中提取傳入的參數(shù)。例如:
上圖中,**g為VAR_KEYWORD參數(shù),同樣,關(guān)鍵字參數(shù)順序不限,但必須在位置參數(shù)后面。
以上。
總結(jié)
以上是生活随笔為你收集整理的python函数参数类型及顺序_python函数参数类型及其顺序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 教你下载pygame
- 下一篇: python中加入绝对路径_理解Pyth