1
我很困惑,如果你將模塊作爲單例使用,會發生什麼。導入如何用作單例使用的模塊?
說我有一個模塊conf.py,其中包含一些配置參數,需要由多個其他文件訪問。在conf.py,我可能有這樣的一段代碼(沒有別的):
myOption = 'foo' + 'bar'
如果我現在在a.py先導入它,然後在b.py,我的理解是,第一次它被導入(在a.py中),字符串連接將被執行。但是第二次導入時(在b.py中),conf.myOption已經有了它的值,所以不會執行字符串連接。它是否正確?
如果做這兩個進口後,我再執行在b.py
conf.myOption = 'aDifferentFoobar'
以下則顯然b.py現在會看到這個新的價值。 a.py會看到相同的值,還是會看到'foobar'?
我相信(但糾正我,如果我錯了),進口總是引用參考,而不是價值?我猜這就是以上問題歸結到的。
好問題,但沒有你試試吧;) – 2014-10-09 09:53:10
好點,但我還是有點擔心可能有角的情況下是不明顯... – funklute 2014-10-09 10:20:02