討論采用 * 模糊導入或者 單獨導入變量 會在不同文件生成不同的對象
.a
└── mypackage
├── a.py
├── b.py
├── c.py
?
b.py內容如下
import c def b(): print ( " b方法開始 " ) print (c.config) print (id(c.config))
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,輸出
ONCE TWO 2492322048184 a方法執行完畢 b方法開始 TWO 2492322048184
id值相同,意味著此時a,b文件共用一個對象
===========================我是分割線===========================
但是。。。假如
======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輸出為
ONCE TWO 1813891082424 a方法執行完畢 b方法開始 ONCE 1813894255144
id值不同,意味著不是同一個對象
?
因此如果需要使用可修改配置文件的全局變量,需要用文件名方式導入,將其當作一個全局類使用
單獨導入或者模糊導入會擁有不同的id和引用類型
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
