变量值为什么变化

2024-09-27 21:30:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有档案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

Tags: 文件pyimportdefas档案ssqq
1条回答
网友
1楼 · 发布于 2024-09-27 21:30:10

Python实际上不会重新导入已经导入的模块。所以当你这么做的时候

import abcd as qq

您只需为abcd模块创建另一个名称,该模块已作为ss导入。所以ss.aqq.a只是同一个integer对象的同义词。你知道吗

你可能会发现这篇文章很有帮助:Facts and myths about Python names and values,它是由这么资深的Ned Batchelder写的。你知道吗

相关问题 更多 >

    热门问题