1
我有兩個Python腳本,一個testclass.py:的Python - 導入模塊得到全局變量
import numpy
zz = numpy
class Something(object):
def __init__(self):
self.xp = zz
和一個testscript.py:
from testclass import Something
x = Something()
print(x.xp)
我預計testscript.py拋出一個錯誤因爲我認爲testscript只導入類Something
(使用其方法__init__
),而不是全局變量zz
。所以,考慮到這個問題,我的問題是,從模塊導入時,Python是否會「運行」模塊文件中的所有內容?
我喜歡在項目中的深層模塊中定義隨機東西的想法。最好保持相同的名字,但是不同的MRO,會讓人倍感樂趣。 – spectras
多次執行'從一個導入Foo'增加/減少失敗的機率?或者,在第一次導入後的過程中,定義的類是否保持不變? –
@ZachGates:在導入第一個 之後,模塊對象被緩存在「sys.modules」中。 – Blender