私はPythonで作品をインポートする方法を理解していない2つの特定の状況があります。Pythonのインポートはどのように機能しますか?
第一の特定の状況:
私は2つの異なったPythonスクリプトで同じモジュールをインポートすると、モジュールではありませんが二度輸入されましたか? Pythonが最初にそれを見つけたとき、それはインポートされ、2回目に、モジュールがインポートされたかどうか、またはコピーが作成されるかどうかがチェックされますか?
第二の特定の状況:
には、以下のモジュールを考慮し、bla.py
呼ば:
a = 10
をそして、我々は、bla.py
インポートモジュールfoo.py
あります
from bla import *
def Stuff():
return a
とをその後、というスクリプトがありますユーザーによって実行されます、:
ここfrom foo import *
Stuff() #This should return 10
a = 5
Stuff()
私は知らない:Stuff()
復帰10または5をしていますか?
コードを実行するとどうなりましたか? – geoffspear
あなたはこれらの面白いかもしれません:http://lucumr.pocoo.org/2011/9/21/python-import-blackbox/とhttp://lucumr.pocoo.org/2009/7/24/singletons-and-彼らの問題は - python /で。彼らは両方ともPythonでのインポートを扱います。 – rubik