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')

 

你可能感兴趣的:(日积跬步)