關於python導包問題

2022-05-23 02:51:07 字數 1585 閱讀 2412

討論採用 * 模糊匯入或者 單獨匯入變數 會在不同檔案生成不同的物件
.a

└── mypackage

├── a.py

├── b.py

├── c.py

b.py內容如下

import

cdef

b():

print("

b方法開始")

print

(c.config)

print(id(c.config))

c.py內容如下

config = "

once

"

a.py內容如下

import

bimport

cdef

a():

print

(c.config)

c.config = "

two"

print

(c.config)

print

(id(c.config))

print("

a方法執行完畢")

a()b.b()

執行a.py,輸出

once

two2492322048184a方法執行完畢

b方法開始

two2492322048184

id值相同,意味著此時a,b檔案共用乙個物件

*************************==我是分割線*************************==

但是。。。假如

*****=a.py*****=

import

bfrom c import

config

defa():

global

config

print

(config)

config = "

two"

print

(config)

print

(id(config))

print("

a方法執行完畢")

a()b.b()

*****=b.py*****=

from c import

config

defb():

print("

b方法開始")

print

(config)

print

(id(config))

*****=c.py*****=config = "

once

"

那麼此時a.py輸出為

once

two1813891082424a方法執行完畢

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都只載入一次被導的包,以後即使再有導包語句也不會真正的載入那個包...