【发布时间】:2021-01-04 11:00:48
【问题描述】:
我在 while 循环中定义了一个函数,该函数由我无法控制的代码调用。
在下面的例子中,access() 总是返回值 1。为什么?以及如何让 access() 返回最新值?
while True:
g = [1,2,3]
def access():
return g[0]
print(access())
g[0] += 1
对于 lambdas 似乎也是如此。我不能让 g 全球化。
【问题讨论】:
-
在这种情况下,函数访问不需要在 while 循环中(使软件过于混乱)。
-
@DarrylG 一个外部库在我将它传递给它之后可能会调用它
-
@2080 那又怎样?它仍然不应该在循环中定义
-
@juanpa.arrivillaga 我怎样才能让它引用循环内新生成的数据?
-
即使你在循环之外定义它也会这样做
标签: python function variable-binding