函式引數
引數型別:
位置引數
顧名思義,位置引數就是呼叫函式時,將實參基於定義形參時的順序一樣,一一傳入。
如果不按順序傳參呼叫函式的話,結果可能往往出乎意料:
def
animal
(animal_type,name):
print("animal_type is", animal_type,"name is:", name)
animal("小白","奶牛")
輸出結果為:
is: 奶牛
函式呼叫中,我們先指定動物型別,再指定動物名稱。由於實參」小白」在前,這個值就儲存到了形參animal_type中,」奶牛」存到了形參name中。結果我們得到了一種型別為小白的新物種。。
同理,位置引數確定形參之後,傳入的實參個數與形參不匹配,會出現如下這種錯誤:
animal
("小白")
以上執行結果:
typeerror: animal() missing 1 required positional argument: 'name'
關鍵字引數
關鍵字引數是傳遞給函式 名稱-值對。直接在實參中將形參與值關聯起來,這樣傳值時就不會混淆。
def
animal
(animal_type,name):
print("animal_type is", animal_type,"name is:", name)
animal(name="小白",animal_type="奶牛")
animal(animal_type="奶牛",name="小白")
執行結果:
is: 小白
animal_type is 奶牛 name
is: 小白
由上可知,使用關鍵字引數時,只要明確指出各個形參對應的實參,傳入的關鍵字引數順序是無關緊要的。
注意:當位置引數與關鍵字引數同用時,實參中關鍵字引數務必要放在位置引數後面,否則直譯器會報錯。
預設引數
未完待續
不定長引數
未完待續
函式引數 二
呼叫函式時,預設引數的值如果沒有傳入,則取預設值。下例會列印預設的age,如果age沒有被傳入 def printinfo name,age 35 列印任何傳入的字串 print name s name print age d age 呼叫printinfo函式 printinfo name mik...
函式與函式引數 一
定義函式 定義乙個函式,以下規則需要遵守 圓括號中間用於定義引數 形參可為0 函式內容以冒號起始,並且縮排。return 表示式 結束函式,並返回此表示式的值給呼叫方。不帶表示式的return 或者直接省略return 都相當於返回none。語法 python定義函式使用def關鍵字,格式如下 de...
python 函式與函式引數
函式是一種基本的 抽象方式,其主要的優點是增強 的重用性和可讀性。函式的定義包含五大要點,分別是def 函式名 函式體 引數 返回值,以及兩個英文符號,分別是括號 括號內為引數 和冒號 函式的引數型別有 必選引數 位置引數 預設引數 可變引數 關鍵字引數和命名關鍵字引數。函式中,引數定義的順序必須為...