在python中,是否可以定义可重写的可选默认值,如果你定义了值,它就不会使用默认值,但是如果你没有,那么它会不会?
例如:
def hats(a= 'large', b= 'baseball', c= 'five dollars'):
#method stuff goes here
我知道我可以定义a
,然后b
和c
会默认,但我能以某种方式定义c
并拥有a
和{ {1}}使用默认值?
就像,我可以调用方法b
答案 0 :(得分:3)
我可以以某种方式定义c并让a和b使用默认值
不确定
hats(c = 'something')
将使用a
和b
的默认值。
答案 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)
这是默认参数的重点。如果您传入了某些内容,则会使用您传入的内容。如果不这样做,则使用默认值。