我有2个文件
文件a.py
:
some_boolean = True
文件b.py
:
from a import *
def blah():
if some_boolean:
do_something()
some_boolean = not some_boolean
代码在没有some_boolean = not some_boolean
行的情况下运行得非常好,但是一旦我把它添加回来,我就得到了UnboundLocalError: local variable 'some_boolean' referenced before assignment
我已经捶了好几个小时的头,但我似乎不明白。有什么想法吗
您需要执行
a
的限定导入,并使用全名a.some_boolean
:您的代码
some_boolean = not some_boolean
试图创建一个新的局部变量。这不起作用,因为名称some_boolean
用于局部变量,而阴影覆盖了相同名称的全局变量。 通常,局部变量和全局变量不应使用相同的名称相关问题 更多 >
编程相关推荐