如何从类外部更新类中的实例变量?

时间:2017-10-23 23:47:29

标签: python

以下是该问题的一些示例代码:

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变量?

1 个答案:

答案 0 :(得分:-1)

您可以直接访问classes属性,如下所示:myObject.property = 1。 或者,您可以添加一个类方法来设置属性,如下所示:

def setProp(self, val):
    self.property = val

这通常是更好的编码实践,因为类属性只能在类中修改。