我有abcd.py文件
a=9
def funn():
print("A")我导入了两次
>>> import abcd as ss
>>> ss.a
9
>>> import abcd as qq
>>> qq.a
9但是当我从ss导入文件更改a的值时,qq导入文件的a的值自动更改。
>>> ss.a=4
>>> ss.a
4
>>> qq.a
4发布于 2018-01-06 19:33:34
Python实际上不会重新导入已经导入的模块。所以当你这样做的时候
import abcd as qq您只需为已经导入为ss的abcd模块创建另一个名称。因此,ss.a和qq.a只是同一个整数对象的同义词。
你可能会发现这篇文章很有帮助:Facts and myths about Python names and values,它是由经验丰富的Ned Batchelder编写的。
https://stackoverflow.com/questions/48126858
复制相似问题