Я хотел бы понять, есть ли в 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