在Python中访问父变量

Mih*_*csu 2 python class parent

我有这样的事情:

class SomeObject:
    #code to access parents MyVar

class MyClass:
    MyVar = 3

    MyObject = SomeObject()
Run Code Online (Sandbox Code Playgroud)

我需要MyVar从里面进入MyObject.有什么方法可以做到吗?

谢谢!

tun*_*2fs 5

您可以在SomeObject中存储对MyClass对象的引用.在使用MyClass Object作为参数创建构造函数时,可以初始化引用.

class SomeObject:
    def __init__(self, reference):
         self.reference_=reference
    #code to access parents MyVar
    self.reference_.MyVar=5

class MyClass:
    MyVar = 3

    MyObject = SomeObject(self)
Run Code Online (Sandbox Code Playgroud)

由于unutbu声明我的代码没有运行,因此是一个更详细的例子.

class SomeObject:
    def __init__(self):
         self.reference_=None

    def connect(self, reference):
        self.reference_=reference
    #code to access parents MyVar
    def call(self):
        self.reference_.MyVar=5

class MyClass:
    MyVar = 3
    MyObject = SomeObject()
    def connect(self):
        self.MyObject.connect(self)

if __name__ == '__main__':
    myclass = MyClass()
    myclass.connect()
    myclass.MyObject.call()
    print(myclass.MyVar)
Run Code Online (Sandbox Code Playgroud)