關鍵字參數是指使用形式參數的名字來決定輸入的參數值。以此方式指定函數實參時,不再需要與形參的位置完全一致,只要將參數名寫正確即可。
因此,Python 函數的參數名稱應該具有更好的語義,這樣程式可以立刻明確傳入函數的每個參數的含義。
例如,在下面的程式中就使用到了關鍵字參數的形式給函數傳參:
def dis_str(str1,str2): print("str1:",str1) print("str2:",str2) #位置参数 dis_str("http://c.biancheng.net/python/","http://c.biancheng.net/shell/") #关键字参数 dis_str("http://c.biancheng.net/python/",str2="http://c.biancheng.net/shell/") dis_str(str2="http://c.biancheng.net/python/",str1="http://c.biancheng.net/shell/")
程式執行結果為:
str1: http ://c.biancheng.net/python/
str2: http://c.biancheng.net/shell/
str1: http://c.biancheng.net/python/
str2: http://c.biancheng.net/shell/
str1: http://c.biancheng.net/shell/
str2: http://c.biancheng.net/python/
#可以看到,在調用有參函數時,既可以根據位置參數來調用,也可以使用關鍵字參數(程式中第8 行)來調用。使用關鍵字參數呼叫時,可以任意調換參數傳參的位置。
當然,也可以像第 7 行程式碼這樣,使用位置參數和關鍵字參數混合傳參的方式。但要注意,混合傳參時關鍵字參數必須位於所有的位置參數之後。也就是說,以下程式碼是錯誤的:
# 位置参数必须放在关键字参数之前,下面代码错误 dis_str(str1="http://c.biancheng.net/python/","http://c.biancheng.net/shell/")
Python 解釋器會報以下錯誤:
SyntaxError: positional argument follows keyword argument
以上是Python函數關鍵字參數及使用方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!