Python關鍵字引數與位置引數
阿新 • • 發佈:2018-11-26
呼叫 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')