天天看點

Python 關鍵字參數

關鍵字參數

如果你有一些具有許多參數的函數,而你又希望隻對其中的一些進行指定,那麼你可以通過命名它們來給這些參數指派——這就是

Python關鍵字參數 ——我們使用命名(關鍵字)而非位置(一直以來我們所使用的方式)來指定函數中的參數。 Python

中這樣做有兩大優點——其一,我們不再需要考慮參數的順序,函數的使用将更加容易。其二,我們可以隻對那些我們希望賦予的參數以指派,隻要其它的參數都具有預設參數值。

案例(儲存為 function_keyword.py):

def func(a, b=5, c=10):

print('a is', a, 'and b is', b, 'and c is', c)
           

func(3, 7)

func(25, c=24)

func(c=50, a=100)

輸出:

$ python function_keyword.py

a is 3 and b is 7 and c is 10

a is 25 and b is 5 and c is 24

a is 100 and b is 5 and c is 50

它是如何工作的

名為 func 的

Python函數

有一個沒有預設參數值的參數,後跟兩個各自帶有預設參數值的參數。

在第一次調用函數時,func(3, 7),參數 a 獲得了值 3,參數 b 獲得了值 7,而 c 獲得了預設參數值 10。

在第二次調用函數時,func(25, c=24),由于其所處的位置,變量 a 首先獲得了值 25。然後,由于命名——即關鍵字參數——指定,變量 c 獲得了值 24。變量 b 獲得預設參數值 5。+

在第三次調用函數時,func(c=50, a=100),我們全部使用關鍵字參數來指定值。在這裡要注意到,盡管 a 在 c 之前定義,但我們還是在變量 a 之前指定了變量 c。