Daniel V.
Daniel V.

Reputation: 383

How to dynamically generate a nested class in Python?

I have well know class and I need to dynamically generate some nested classes for the well known class.

How do I accomplish this?


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

@AddNestedClasses
class Outer:
    pass

Upvotes: 0

Views: 365

Answers (1)

Daniel V.
Daniel V.

Reputation: 383

def AddNestedClasses(cls):
    inner1  = type("Inner", (), {})
    cls.Inner = inner1
    return cls

@AddNestedClasses
class Outer:
    pass

print(dir(Outer))

Upvotes: 2

Related Questions