【发布时间】:2011-06-07 22:13:19
【问题描述】:
是否可以有条件地将任意数量的命名默认参数传递给 Python 函数?
例如。有一个功能:
def func(arg, arg2='', arg3='def')
现在的逻辑是我有一个条件来确定是否需要传递 arg3,我可以这样做:
if condition == True:
func('arg', arg2='arg2', arg3='some value')
else:
func('arg', arg2='arg2')
问题是,我可以写一个简写吗:
func('arg', 'arg2', 'some value' if condition == True else # nothing so default gets picked
)
【问题讨论】: