首页 > 解决方案 > 请求帮助使子类访问python中的主类

问题描述

您好,我正在寻找一种方法,以便 A 类可以有子类 B 并且self在子类 B 中指向 A 我正在尝试做的示例

class A:
    value = 'asdf'
    def __init__(self):
        self.B = self.B()
    
    class B:
        def printa(self):
            print(self.val)

aa = A()
aa.B.printa()

所以在这个例子中,函数将打印asdf

标签: python

解决方案


嵌入没有什么特别之处。如果您希望内部类访问父值,那么您需要为其提供父值。顺便说一句,你不能self.B既是一个类又是一个对象。

class A:
    value = 'asdf'
    def __init__(self):
        self.b = self.B(self)
    
    class B:
        def __init__(self,parent):
            self.parent = parent
        def printa(self):
            print(self.parent.value)

aa = A()
aa.b.printa()

推荐阅读