classe @ Python aninhada precisa acessar a variável na classe delimitadora

Eu já vi algumas "soluções" para isso, mas a solução sempre parece ser "Não use classes aninhadas, defina as classes fora e use-as normalmente". Não gosto dessa resposta, porque ignora a principal razão pela qual escolhi as classes aninhadas, ou seja, para ter um conjunto de constantes (associadas à classe base) acessível a todas as instâncias de subclasses criada

Aqui está o código de exemplo:

class ParentClass:

    constant_pool = []
    children = []

    def __init__(self, stream):
        self.constant_pool = ConstantPool(stream)
        child_count = stream.read_ui16()
        for i in range(0, child_count):
            children.append(ChildClass(stream))

    class ChildClass:

        name = None

        def __init__(self, stream):
            idx = stream.read_ui16()
            self.name = constant_pool[idx]

s classes @All recebem um único parâmetro, que é uma classe de fluxo de bits personalizada. Minha intenção é ter uma solução que não exija que eu leia o valor idx para ChildClass enquanto ainda estiver na ParentClass. Toda a leitura do fluxo da classe filho deve ser feita na classe filh

Este exemplo é simplificado demais. O pool constante não é a única variável necessária para todas as subclasses. A variável idx não é a única coisa lida no leitor de fluxo.

Isso é possível em python? Não há como acessar as informações dos pais?

questionAnswers(6)

yourAnswerToTheQuestion