【发布时间】:2017-07-31 19:50:45
【问题描述】:
假设我有一个 Python 函数 foo,它接受一个默认参数,其中该默认值设置为某个全局变量。如果我现在在调用函数之前更改该全局变量,默认参数仍设置为该全局变量的原始值。
例如:
x = 1
def foo(a=x):
print a
x = 2
foo()
这将打印1,而不是2。
我应该如何编写我的代码,以便我可以更改这个全局变量,并让它更新这个默认参数?
【问题讨论】:
-
默认参数只计算一次...
标签: python python-2.7 function default-value