我有以下Python代碼這在我看來很奇怪的行爲:蟒蛇進口ED變量保持相同的值,但它正在改變
進口模塊:
# ChangeVar.py
def Print1():
print "1--"
def Print2():
print "2--"
Print=Print1
def Change():
global Print
Print=Print2
主要模塊:
#UseVar.py
from ChangeVar import *
Print()
Print()
Change()
Print()
Print()
我希望這個代碼打印follwing:
1--
1--
2--
2--
但我得到的卻是:
1--
1--
1--
1--
可能有人點我的蟒蛇參考的右側部分或解釋爲什麼我沒有得到預期的行爲?
感謝,
尤利安
我願意接受任何建議,我很欣賞向我展示更清潔的方式。確切地說:'Print'是一個日誌記錄功能,應該簡單地用函數名稱('Print' - 而不是'Module.Print')來調用 – INS 2012-02-05 20:22:30
@INS首先,我會推薦一個描述性名稱 - 日誌將是適當的,不與內部衝突。爲什麼你需要在不指定名稱空間的情況下調用它?通常將這些事情分開是個好主意。 – 2012-02-05 20:28:49