函式與函式引數 二

2021-08-14 11:56:53 字數 1214 閱讀 3452

函式引數

引數型別:

位置引數

顧名思義,位置引數就是呼叫函式時,將實參基於定義形參時的順序一樣,一一傳入。

如果不按順序傳參呼叫函式的話,結果可能往往出乎意料:

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 函式名 函式體 引數 返回值,以及兩個英文符號,分別是括號 括號內為引數 和冒號 函式的引數型別有 必選引數 位置引數 預設引數 可變引數 關鍵字引數和命名關鍵字引數。函式中,引數定義的順序必須為...