如何在不调用__init__的情况下在Python中获取类引用

时间:2017-01-04 14:36:35

标签: python python-2.7 class object

我希望能够从动态指定的模块动态指定类引用,并将该类引用传递给第三方库,然后第三方库使用它。但是当我这样做时,我不想调用类本身(以及类中的__init__方法),这是图书馆要做的。

我目前有这个:

import importlib
import thirdpartylib

# Load the module
the_module = importlib.import_module('my_module')

# Now the class
the_class = getattr(the_module, 'MyClass')()

thirdpartylib.process(the_class)

但当然,getattr()会运行我不想要的__init__方法。

如何在不创建实例的情况下传递对类的引用并触发__init__

1 个答案:

答案 0 :(得分:2)

the_class = getattr(the_module, 'MyClass')

这将是班级。

the_class = getattr(the_module, 'MyClass')()

这是班级的一个实例。您必须删除尾随()