【发布时间】:2018-06-29 07:43:25
【问题描述】:
python 解释器抱怨在分配之前引用了局部变量 foo,尽管我已经明确导入了 foo 包并且从未重新分配它。
考虑以下代码:
import foo.bar
def qux():
if(foo.bar.fred()):
import foo.baz
print(foo.baz.waldo())
qux()
这会在 if(foo.bar.fred()): 所在行引发 UnboundLocalError。
这个问题似乎有不同于大多数 UnboundLocalError 情况的具体考虑,我在堆栈溢出或任何其他网站上找不到这个具体情况。
为什么上面的代码会引发异常?
【问题讨论】:
标签: python python-2.7 import scope