Pythoni c способ перебирать внутренние классы, но не внутренние-внутренние классы - PullRequest
0 голосов
/ 13 июля 2020

Я хотел бы понять, есть ли в pythoni c способ перебора внутренних классов класса, но исключая внутренние классы внутреннего класса? например. Я хотел бы al oop вернуть InnerClass, а затем использовать итератор для перебора InnerInnerClass1 и 2 для каждого InnerClass в приведенном ниже коде:

Некоторые ссылки: Список всех внутренних классов данного класса - Python, которые перебирают все классы, определенные или сгенерированные во внешнем классе, но не исключая внутренние.

import inspect

class OuterClass(object):
    def __init__(self):
        self._baseaddress = 0x00

    class InnerClass:
        def __init__(self):
            self._address = 0x01
            return

        class InnerInnerClass1:
            def __init__(self):
                self._offset = 0x2
                return

        class InnerInnerClass2:
            def __init__(self):
                self._offset = 0x2
                return

     
if __name__ == '__main__':
    OuterClassObj = OuterClass()
    print 'InnerClasses will be printed now'

    da = [d for d in dir(OuterClass) if inspect.isclass(getattr(OuterClass, d))]
    for c in da:
        print c
...