首页 > 解决方案 > 从另一个类更改变量

问题描述

我试图在没有继承的情况下从另一个类中更改一个变量。

我怎么能做到?

class ClassA:
    def __init__(self):
        self.modifier = _ClassB()
        self.var_a = 5


class _ClassB:
    def change_var_a(self):
        # change var_a = 7

a = ClassA()
a.modifier.change_var_a()
print(a.var_a)

标签: python

解决方案


您需要对要修改的实例的引用:

class ClassA:
    def __init__(self):
        self.modifier = _ClassB(parent=self)
        self.var_a = 5


class _ClassB:
    def __init__(self, parent: ClassA):
        self.parent = parent

    def change_var_a(self):
        self.parent.var_a = 10


a = ClassA()
a.modifier.change_var_a()
print(a.var_a)

推荐阅读