以下是该问题的一些示例代码:
class Obj():
def __init__(self, p):
self.property = p
def printProp(self):
print(self.property)
myVar = 0
myObject = Obj(myVar)
myObject.printProp()
myVar = 1
myObject.printProp()
当它运行时,参数不会改变,并且0被打印两次,因为构造函数只被调用一次。有没有办法让财产总是直接引用myVar
变量?
答案 0 :(得分:-1)
您可以直接访问classes属性,如下所示:myObject.property = 1
。
或者,您可以添加一个类方法来设置属性,如下所示:
def setProp(self, val):
self.property = val
这通常是更好的编码实践,因为类属性只能在类中修改。