Reflectiong capabilityof Python
MRAB
google at mrabarnett.plus.com
Tue Nov 25 21:55:11 EST 2008
goatold at gmail.com wrote:
> Can Python create object by name? Like
> clsName = "ClassA"
> aObj = createObjectByName(clsName)
>
>>> # Create the class.
>>> class MyClass:
pass
>>> # The class is in the globals() dict.
>>> globals()["MyClass"]
<class __main__.MyClass at 0x00D133F0>
>>> # And also the locals() dict.
>>> locals()["MyClass"]
<class __main__.MyClass at 0x00D133F0>
>>> # Create an instance via the globals() dict.
>>> globals()["MyClass"]()
<__main__.MyClass instance at 0x00D11530>
>>> # Or via the locals() dict.
>>> locals()["MyClass"]()
<__main__.MyClass instance at 0x00D15918>
>>>
More information about the Python-list
mailing list