简而言之:如果不修改代码,则无法使其打印为“ ok”。
from a import x, changeX等效于:
import ax = a.xchangeX = a.changeX
换句话说,
from a import x不创建
x间接指向的
a.x,而是
x在
b模块中使用 当前
值创建一个新的全局变量
a.x。因此,以后的更改
a.x不会影响
b.x。
为了使您的代码按预期工作,只需将代码更改
b.py为
import a:
import aa.changeX()print a.x
您将减少混乱的导入,更易于阅读代码(因为无需查看导入列表即可清楚地知道哪个标识符来自何处),循环导入的问题更少(因为并非一次需要所有标识符),并且有更好的机会喜欢
reload工作的工具。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)