Python函式關鍵字引數及用法

2021-09-26 06:53:39 字數 1199 閱讀 4476

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

關鍵字引數是指使用形式引數的名字來確定輸入的引數值。通過此方式指定函式實參時,不再需要與形參的位置完全一致,只要將引數名寫正確即可。

因此,python 函式的引數名應該具有更好的語義,這樣程式可以立刻明確傳入函式的每個引數的含義。

例如如下程式:

# 定義乙個函式

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 行**所示)。

需要說明的是,如果希望在呼叫函式時混合使用關鍵字引數和位置引數,則關鍵字引數必須位於位置引數之後。換句話說,在關鍵字引數之後的只能是關鍵字引數。例如如下**是錯誤的:

# 位置引數必須放在關鍵字引數之前,下面**錯誤

print(girth(width = 3.5, 4.8))

執行上面**,將會提示如下錯誤:

syntaxerror: positional argument follows keyword argument

Python中關鍵字引數和命名關鍵字引數的區別

python中函式的引數有位置引數 預設引數 可變引數 命名關鍵字引數和關鍵字引數,這個順序也是定義函式時的必須順序。本文主要是講講命名關鍵字引數和關鍵字引數的區別 可變引數允許你傳入0個或任意個引數,這些可變引數在函式呼叫時自動組裝為乙個tuple。而關鍵字引數允許你傳入0個或任意個含引數名的引數...

Python引數之關鍵字引數

關鍵字引數允許我們在傳入必選引數外,還可以接受關鍵字引數kw def person name,age,kw prit name name,age age,other kw 這裡的name,age是必須的,kw可選,意味著第三個引數開始我們可以傳入任意個數的關鍵字引數 person bob 35,ci...

Python基礎 關鍵字引數

關鍵字引數,key value def add a,b 10 result a b print result add 5 輸出 15 def add a,b 10 result a b print result add 4,7 原來的預設引數值會被覆蓋輸出 11 def add a,b 10,c 4...