如何从python中的另一个类访问一个类变量?

时间:2017-06-19 14:15:54

标签: python-2.7

我试图在下面的代码中使用ClassB中的self.var1(在ClassA中定义)。我们知道该计划的o / p将是:

ClassB内部:1 2
3

但是当我调用object1.methodA()时,我正在更新self.var1值,当我在它之后调用object2.methodB()时,我想要该值(更新)。怎么实现呢? 我的意思是我想从ClassB访问self.var1的最新值。

class ClassA(object):
    def __init__(self): 
        self.var1 = 1
        self.var2 = 2

    def methodA(self):
        self.var1 = self.var1 + self.var2
        return self.var1

class ClassB(ClassA):  
    def __init__(self, class_a):  
        self.var1 = class_a.var1  
        self.var2 = class_a.var2  
    def methodB(self):  
        print "Inside ClassB:",self.var1,self.var2  

object1 = ClassA()  
object2 = ClassB(object1)  
sum = object1.methodA()  
object2.methodB()  
print sum  

1 个答案:

答案 0 :(得分:1)

ClassB.__init__()中,您只是拍摄传入的var1实例的var2ClassA属性的快照。如果您需要查看这些属性的更新值,请存储实例本身:

class ClassB(ClassA):  
    def __init__(self, class_a):  
        self.class_a = class_a
    def methodB(self):  
        print "Inside ClassB:",self.class_a.var1,self.class_a.var2