Доступ к вложенному классу через "self"? - PullRequest
0 голосов
/ 27 февраля 2019

Итак, у меня есть ситуация, описанная ниже:

class A(object):
    def __init__(self):
        pass
    def foo(self):
        a = self.InnerClass()
        a.hooo()
    class InnerClass(object):
        def hooo(self):
            print 'Yeah!'

class DummyA(A):
    class InnerClass(A.InnerClass):
        def hooo(self):
            print 'Yay!'

class Test(object):
    x = DummyA()
    x.foo()

A - это мой основной класс, который я хочу проверить.Тогда есть внутренний класс, чья функция hooo () вызывается.Я хочу переопределить эту функцию в моем классе DummyA.Итак, я сделал это, как описано в коде.Это работает, и вывод «Yay!».Я видел во многих примерах онлайн, что внешний класс всегда обращается к внутреннему классу с помощью этого синтаксиса.OuterClass.InnerClass но в моем случае я использовал self для доступа к внутреннему классу.Это плохая практика?если да, то по какой причине?Любым другим способом я могу проверить функцию hooo?

...