python中类的属性之间不相关怎么办?


class A():
    def __init__(self):
        self.a = 5
        self.b = self.a * 2
        self.c = self.b + self.b

a = A()
a.a = 99
print(a.c)

运行结果就还是20,跟a=5的时候一样,也就是改了self.a,对b和c都没用,这是为什么呢?想要让他们相关有什么方法吗?(除了用函数或者类方法以外)

因为b和c都是初始化的时候确定的静态的值,如果不用函数和类方法的话,属性之间是没有关联的。

这个a,b和c不是类变量,无法通过直接调用来更改值。你必须写一个方法来改数值。