首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么变量值会发生变化

为什么变量值会发生变化
EN

Stack Overflow用户
提问于 2018-01-06 19:27:20
回答 1查看 47关注 0票数 0

我有abcd.py文件

代码语言:javascript
复制
a=9
def funn():
    print("A")

我导入了两次

代码语言:javascript
复制
>>> import abcd as ss
>>> ss.a
9
>>> import abcd as  qq
>>> qq.a
9

但是当我从ss导入文件更改a的值时,qq导入文件的a的值自动更改。

代码语言:javascript
复制
>>> ss.a=4
>>> ss.a
4
>>> qq.a
4
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-06 19:33:34

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

代码语言:javascript
复制
import abcd as qq

您只需为已经导入为ssabcd模块创建另一个名称。因此,ss.aqq.a只是同一个整数对象的同义词。

你可能会发现这篇文章很有帮助:Facts and myths about Python names and values,它是由经验丰富的Ned Batchelder编写的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48126858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档