我遇到了有关from ... import ...
语法的有趣行为。似乎在使用此语法时,标识符将作为新标识符导入,而不是引用。
我已经编写了很长一段时间的Python并且总是避免使用这种语法,所以这对我来说是非常意外的。相反,我希望它的工作方式与import ...
相同。
以下是一个例子:
a.py
x = 0
b.py
from b import x
def f():
print(x)
main.py
import a
import b
a.f()
b.x = 1
a.f()
结果是:
0
0
而不是
0
1
我的预期。
from ... import ...
创建一个新变量,或者它是否引用变量?
我搜索了文档,用Google搜索,搜索StackOverflow,但似乎并不是这个问题的一个非常明确的答案。任何链接(尤其是Python文档)都将受到赞赏。