討論採用 * 模糊匯入或者 單獨匯入變數 會在不同檔案生成不同的物件
.a└── mypackage
├── a.py
├── b.py
├── c.py
b.py內容如下
importcdef
b():
print("
b方法開始")
(c.config)
print(id(c.config))
c.py內容如下
config = "once
"
a.py內容如下
importbimport
cdef
a():
(c.config)
c.config = "
two"
(c.config)
(id(c.config))
print("
a方法執行完畢")
a()b.b()
執行a.py,輸出
oncetwo2492322048184a方法執行完畢
b方法開始
two2492322048184
id值相同,意味著此時a,b檔案共用乙個物件
*************************==我是分割線*************************==
但是。。。假如
*****=a.py*****=import
bfrom c import
config
defa():
global
config
(config)
config = "
two"
(config)
(id(config))
print("
a方法執行完畢")
a()b.b()
*****=b.py*****=
from c import
config
defb():
print("
b方法開始")
(config)
(id(config))
*****=c.py*****=config = "
once
"
那麼此時a.py輸出為
oncetwo1813891082424a方法執行完畢
b方法開始
once
1813894255144
id值不同,意味著不是同乙個物件
因此如果需要使用可修改配置檔案的全域性變數,需要用檔名方式匯入,將其當作乙個全域性類使用
單獨匯入或者模糊匯入會擁有不同的id和引用型別
Python導包路徑問題
import sys import os curpath os.path.abspath os.path.dirname file rootpath os.path.split curpath 0 from 上一級目錄.檔案 import python檔案在本地執行正常,在伺服器導包失敗方法一 需要...
idea導包都報錯 python 導包
python 導包 python語言的使用者對導包應該不會陌生,下面我們就一起看一下python中有哪些到爆方式 1 import 直接使用import進行導包是一種很常見的方式,每次可以匯入乙個或多個包,直接使用import導包相當於是匯入了這個模組的整體,這個模組包含的所有物件都可以呼叫,但是要...
Python迴圈導包
版本 3.6.3 python不存在迴圈導包問題,或者說那些被稱之為迴圈導包問題的真正原因不是迴圈,真正原因是在使用乙個物件的時候還沒有獲取到這個物件 從報錯資訊也能看出這一點 不管是直接import還是from格式的導包,python都只載入一次被導的包,以後即使再有導包語句也不會真正的載入那個包...