b.py内容如下
c.py内容如下
config = "ONCE"
a.py内容如下
import b import c def a(): print(c.config) c.config = "TWO" print(c.config) print(id(c.config)) print("a方法执行完毕") a() b.b()
执行a.py,输出
===========================我是分割线===========================
但是。。。假如
======a.py====== import b from c import config def a(): global config print(config) config = "TWO" print(config) print(id(config)) print("a方法执行完毕") a() b.b() ======b.py====== from c import config def b(): print("b方法开始") print(config) print(id(config)) ======c.py====== config = "ONCE"
那么此时a.py输出为
id值不同,意味着不是同一个对象
因此如果需要使用可修改配置文件的全局变量,需要用文件名方式导入,将其当作一个全局类使用
单独导入或者模糊导入会拥有不同的id和引用类型
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。