目前為止,我們使用函數(shù)時(shí)所用的參數(shù)都是位置參數(shù),即傳入函數(shù)的實(shí)際參數(shù)必須與形式參數(shù)的數(shù)量和位置對(duì)應(yīng)。而本節(jié)將介紹的關(guān)鍵字參數(shù),則可以避免牢記參數(shù)位置的麻煩,令函數(shù)的調(diào)用和參數(shù)傳遞更加靈活方便。 關(guān)鍵字參數(shù)是指使用形式參數(shù)的名字來(lái)確定輸入的參數(shù)值。通過(guò)此方式指定函數(shù)實(shí)參時(shí),不再需要與形參的位置完全一致,只要將參數(shù)名寫(xiě)正確即可。 因此,Python 函數(shù)的參數(shù)名應(yīng)該具有更好的語(yǔ)義,這樣程序可以立刻明確傳入函數(shù)的每個(gè)參數(shù)的含義。 例如如下程序:
接下來(lái)在調(diào)用該函數(shù)時(shí),既可使用傳統(tǒng)的根據(jù)位置參數(shù)來(lái)調(diào)用(如上面程序中第 7 行代碼所示),也可根據(jù)關(guān)鍵字參數(shù)來(lái)調(diào)用(如上面程序中第 9 行代碼所示),在使用關(guān)鍵字參數(shù)調(diào)用時(shí)可交換參數(shù)的位置(如上面程序中第 11 行代碼所示〕,還可混合使用位置參數(shù)和關(guān)鍵字參數(shù)(如上面程序中第 13 行代碼所示)。 需要說(shuō)明的是,如果希望在調(diào)用函數(shù)時(shí)混合使用關(guān)鍵字參數(shù)和位置參數(shù),則關(guān)鍵字參數(shù)必須位于位置參數(shù)之后。換句話說(shuō),在關(guān)鍵字參數(shù)之后的只能是關(guān)鍵字參數(shù)。例如如下代碼是錯(cuò)誤的:
# 位置參數(shù)必須放在關(guān)鍵字參數(shù)之前,下面代碼錯(cuò)誤 SyntaxError: positional argument follows keyword argument |
|