【发布时间】:2013-07-13 00:05:17
【问题描述】:
在 Python 中,是否可以在运行时重新定义函数的默认参数?
我在这里定义了一个带有 3 个参数的函数:
def multiplyNumbers(x,y,z):
return x*y*z
print(multiplyNumbers(x=2,y=3,z=3))
接下来,我尝试(不成功)为y设置默认参数值,然后我尝试调用不带参数y的函数:
multiplyNumbers.y = 2;
print(multiplyNumbers(x=3, z=3))
但是产生了以下错误,因为y的默认值没有正确设置:
TypeError: multiplyNumbers() missing 1 required positional argument: 'y'
是否可以像我在这里尝试的那样在运行时重新定义函数的默认参数?
【问题讨论】:
-
在函数also上设置属性
y不会改变y的默认参数。