今天我在與Python模塊混戰,並且發現了一些有趣的東西;假設你有一個這樣的模塊:與其他模塊操作的Python模塊
# mymodule
value = "default"
def setVal(new):
value = new
def getVal():
return value
現在,你有另一個模塊導入mymodule。當你在Python shell中運行的模塊,這種情況發生:
>>> moduleC.setC("newvalue")
>>> moduleC.getC()
'default'
>>> moduleC.Cval = "new value"
>>> moduleC.getC()
'new value'
爲什麼使用功能不能正常工作設置模塊中的變量的值,但使用「=」不分配呢?
@TerryJanReedy在下面的答案中說得很好 - 在Python中,'setVal()'和'getVal()'都不是必須的。如果在模塊級別聲明瞭值,則可以使用「MyModule.value」訪問它,並根據需要進行更改。 Python不是Java :) – MattDMo 2014-11-06 03:34:43