Как динамически сгенерировать вложенный класс в Python? - PullRequest
0 голосов
/ 29 января 2020

Я хорошо знаю класс, и мне нужно динамически сгенерировать несколько вложенных классов для известного класса.

Как мне выполнить sh this?


def AddNestedClasses(cls):
    inner1  = type("Inner")
    # How do I inject the class 'Inner' into 'cls'?
    return cls

@AddNestedClasses
class Outer:
    pass

1 Ответ

1 голос
/ 29 января 2020
def AddNestedClasses(cls):
    inner1  = type("Inner", (), {})
    cls.Inner = inner1
    return cls

@AddNestedClasses
class Outer:
    pass

print(dir(Outer))
...