2013-07-24 39 views

回答

1

每個模塊都使用自己的一組全局變量執行,這些全局變量將成爲模塊的屬性。模塊名稱空間是模塊的全局變量的地方; 「在新的模塊名稱空間中執行」意味着「使用其自己的全局變量環境執行」。

Python解釋器只在第一次導入任何給定程序時執行模塊代碼。進一步的導入語句只是返回現有的模塊對象。這可以防止進口指數爆炸時模塊ab兩個進口模塊cd,這既進口ef,等這也意味着,所有模塊看到的,比方說,collections.defaultdict版本相同的,所以類型檢查的行爲直觀。 runpy.run_module表示「在這個模塊中運行代碼,不管它是否已經被導入,也不會將其視爲導入。」如果你是run_module模塊,然後__import__它,你從run_module得到的字典將包含與你從__import__獲得的模塊中的對象非常相似但不同的對象。

相關問題