今天我在与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