可选的默认值

时间:2012-12-05 03:11:44

标签: python

在python中,是否可以定义可重写的可选默认值,如果你定义了值,它就不会使用默认值,但是如果你没有,那么它会不会?

例如:

def hats(a= 'large', b= 'baseball', c= 'five dollars'):
    #method stuff goes here

我知道我可以定义a,然后bc会默认,但我能以某种方式定义c并拥有a和{ {1}}使用默认值?

就像,我可以调用方法b

3 个答案:

答案 0 :(得分:3)

  

我可以以某种方式定义c并让a和b使用默认值

不确定

hats(c = 'something')

将使用ab的默认值。

答案 1 :(得分:1)

当然。调用函数

时,可以参考参数名称
def hats(a= 'large', b= 'baseball', c= 'five dollars'):
        print a,b,c

hats(b = "football")
>>> large football five dollars

如果传递参数但未指定名称,则参数将按顺序传递,例如:

hats("big","tennis")
>>> big tennis five dollars

以上结果只会改变前两个参数(a和b)并将c保留为默认值。

最后,你根本不需要通过任何参数:

hats()
>>> large baseball five dollars

答案 2 :(得分:0)

这是默认参数的重点。如果您传入了某些内容,则会使用您传入的内容。如果不这样做,则使用默认值。