討論采用 * 模糊導入或者 單獨導入變量 會在不同文件生成不同的對象
.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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

