In Python, what's the correct way to instantiate a class from a variable?

instantiation, python

Solution

o = C2()

This will accomplish what you want. Or, in case you meant to use classToUse, simply use:

o = classToUse()

Hope this helps.

Problem

Suppose that I have class `C`. I can write `o = C()` to create an instance of `C` and assign it to `o`. However, what if I want to assign the class itself into a variable and then instantiate it? For example, suppose that I have two classes, such as `C1` and `C2`, and I want to do something like: ``` if (something): classToUse = C1 else: classToUse = C2 o = classToUse.instantiate() ``` What's the syntax for the actual `instantiate()`? Is a call to `__new__()` enough?

Original source