Python學習13.05:Python函數關鍵字參數及用法

目前爲止,咱們使用函數時所用的參數都是位置參數,即傳入函數的實際參數必須與形式參數的數量和位置對應。而本節將介紹的關鍵字參數,則能夠避免牢記參數位置的麻煩,令函數的調用和參數傳遞更加靈活方便。

關鍵字參數是指使用形式參數的名字來肯定輸入的參數值。經過此方式指定函數實參時,再也不須要與形參的位置徹底一致,只要將參數名寫正確便可。python

所以,Python 函數的參數名應該具備更好的語義,這樣程序能夠馬上明確傳入函數的每一個參數的含義。函數

例如以下程序:spa

# 定義一個函數
def girth(width , height):
    print("width: ", width)
    print("height: ", height)

    return 2 * (width + height)


# 傳統調用函數的方式,根據位置傳入參數
print(girth(3.5, 4.8))
# 根據關鍵字參數來傳入參數
print(girth(width = 3.5, height = 4.8))
# 使用關鍵字參數時可交換位置
print(girth(height = 4.8, width = 3.5))
# 部分使用關鍵字參數,部分使用位置參數
print(girth(3.5, height = 4.8))

上面程序定義了一個簡單的 girth() 函數,該函數包含 width、height 兩個參數,該函數與前面定義的函數並無任何區別。

接下來在調用該函數時,既可以使用傳統的根據位置參數來調用(如上面程序中第 7 行代碼所示),也可根據關鍵字參數來調用(如上面程序中第 9 行代碼所示),在使用關鍵字參數調用時可交換參數的位置(如上面程序中第 11 行代碼所示〕,還可混合使用位置參數和關鍵字參數(如上面程序中第 13 行代碼所示)。

須要說明的是,若是但願在調用函數時混合使用關鍵字參數和位置參數,則關鍵字參數必須位於位置參數以後(關鍵字參數在參數列表右側)。換句話說,在關鍵字參數以後的只能是關鍵字參數。例如以下代碼是錯誤的:.net

# 位置參數必須放在關鍵字參數以前,下面代碼錯誤code

print(girth(width = 3.5, 4.8))

運行上面代碼,將會提示以下錯誤:get

SyntaxError: positional argument follows keyword argument
相關文章
相關標籤/搜索