如何使一个参数的默认值依赖于另一个参数(在Python中)?
问题描述:
例如,我想要
def func(n=5.0,delta=n/10):
如果用户指定了增量,请使用它.如果不是,则使用取决于n的值.这可能吗?
If the user has specified a delta, use it. If not, use a value that depends on n. Is this possible?
答
该语言不支持这种语法.
The language doesn't support such syntax.
在这些情况下,通常的解决方法是使用不是有效输入的默认值.
The usual workaround for these situations(*) is to use a default value which is not a valid input.
def func(n=5.0, delta=None):
if delta is None:
delta = n/10
(*)当默认值是可变的时,也会出现类似的问题.
(*) Similar problems arise when the default value is mutable.