我有文件abcd.py
a=9
def funn():
print("A")
我导入了两次
>>> import abcd as ss
>>> ss.a
9
>>> import abcd as qq
>>> qq.a
9
但是当我从a
导入的文件中更改ss
的值时,qq
a
的导入文件值会自动更改。
>>> ss.a=4
>>> ss.a
4
>>> qq.a
4
答案 0 :(得分:3)
Python实际上并没有重新导入已经导入的模块。所以当你这样做时
import abcd as qq
您只是为abcd
模块创建了另一个名称,您已将其导入ss
。因此ss.a
和qq.a
只是同一整数对象的同义词。
您可能会发现这篇文章很有用:Facts and myths about Python names and values,由SO资深人士Ned Batchelder撰写。