Aylwyn Lake
Aylwyn Lake

Reputation: 2037

python define a group of classes

Like:

class base:
    pass
classes = ["class1", "class2", "class3", "class4"]
for classname in classes:
    class classname(base):
        pass 

I search for dynamic class define, and it's too complicate.

I need an easy solution.

Upvotes: 0

Views: 728

Answers (1)

Hyperboreus
Hyperboreus

Reputation: 32429

Use type to define dynamic classes:

class base: pass
classNames = ["class1", "class2", "class3", "class4"]
classes = [type(name, (base,), {}) for name in classNames]

Although I agree with arshajii: "There's probably a better way to do whatever you're trying to do.."

Upvotes: 3

Related Questions