1. 程式人生 > >Python關鍵字引數與位置引數

Python關鍵字引數與位置引數

呼叫 Python 函式時可以使用關鍵字引數,也可以使用位置引數,而且有些時候二者同時使用。使用關鍵字引數時,引數的名稱和值一起傳遞;使用位置引數時,只傳遞值,而不明確指定哪個引數匹配哪個值,二者的關係由引數的順序確定。

例如,對下面這個簡單的函式來說:

def sell(item, price, quantity):
    print "Selling %s unit(s) of %s at %s" % (quantity, item, price)

如果使用位置引數,要按照函式定義中指定的順序傳入:

sell('Socks', '$2.50', 6)

如果使用關鍵字引數,要把引數的名稱與值一起傳入。下面各個呼叫是等價的:

sell(item='Socks', price='$2.50', quantity=6)
sell(item='Socks', quantity=6, price='$2.50')
sell(price='$2.50', item='Socks', quantity=6)
sell(price='$2.50', quantity=6, item='Socks')
sell(quantity=6, item='Socks', price='$2.50')
sell(quantity=6, price='$2.50', item='Socks')

最後,還可以混用關鍵字引數和位置引數,只要把位置引數放在關鍵字引數前面就行。下面各個呼叫與前面的等價

sell('Socks', '$2.50', quantity=6)
sell('Socks', price='$2.50', quantity=6)
sell('Socks', quantity=6, price='$2.50')