【发布时间】:2010-10-01 14:57:21
【问题描述】:
我对 Python 中的全局变量有疑问。 代码如下。如果我在功能测试中不使用全局 M, 它会发出错误。 但是为什么它不显示字符串 s 的错误。我没有将其声明为全球性的。
global M
M = []
s = "abc"
def test():
### global M
print M
M.append(s)
打印 M UnboundLocalError:赋值前引用了局部变量“M”
【问题讨论】:
-
请包含您收到的错误消息的文本。
-
感谢您帮助格式化代码。
-
如果您发布更多关于您要解决的问题的信息,我们可能会找到一种很好的方法来分解它,这样您就不需要使用全局变量。相信我,你不想这样做。也许发布另一个问题“我如何重构这段代码以摆脱全局变量......”
-
我想这只是函数的一部分,在某个地方你有类似 M=...
标签: python string scope global