Доступ к атрибуту базового класса в производном классе - в «области видимости»

class Outer(object):
    class InnerBase(object): _var = {'foo', 'bar'}
    class Derived(InnerBase):
        _var = _var | {'baz'} # NameError: name '_var' is not defined
        _var = InnerBase._var | {'baz'} #  name 'InnerBase' is not defined
        _var = Outer.InnerBase._var | {'baz'} #  free variable 'Outer'
        # referenced before assignment in enclosing scope

Перемещение _var вOuter не помогает - перемещение его в области модуля будет работать, но не будет иметь смысла иметь классы. Так как же это сделать?

РЕДАКТИРОВАТЬ: исходить из Java, так что правила области видимости классов для меня головная уборка - брифинг будет приветствоваться. Это работает, кстати:

    class Derived(InnerBase): pass
    Derived._var = InnerBase._var | {'baz'}

но это не вершина элегантности.

Связанные с:Область вложенных классов? - но здесь мы специально хотим получить доступ к нашему родительскому классу (а не к внешнему типу)

EDIT2: что я на самом деле после того, как_var = __class__._var-подобный синтаксис (или взломать), или объяснение, какЗачем это не там

Ответы на вопрос(3)

Ваш ответ на вопрос