PHP前端开发

如何使用 Python 动态实例化对象并调用其方法?

百变鹏仔 5天前 #Python
文章标签 如何使用

python 动态实例化对象与调用方法

在 python 中,可以使用动态导入模块的方式来达到动态实例化对象和调用方法的目的。为此,可以通过 importlib.import_module 函数动态导入模块。

动态实例化对象

为了动态实例化对象,需要使用 getattr 函数。该函数可以获取对象或模块的属性,包括动态创建的对象。例如,如果有一个名为 class_name 的字符串表示要实例化的类名,并且该类存储在 xx1 模块中,则可以执行以下步骤:

立即学习“Python免费学习笔记(深入)”;

xx1_module = importlib.import_module('xx1')# 动态创建对象object = getattr(xx1_module, class_name)()

动态调用方法

要动态调用方法,可以使用相同的 getattr 函数。例如,如果有一个名为 class_func_name 的字符串表示要调用的方法名,则可以执行以下步骤:

getattr(object, class_func_name)()

代码示例

下面是一个完整的代码示例,展示了如何动态实例化对象和调用方法:

# xx1.pyclass xxx:    def hello(self):        print('hello')# xx2.pyimport importlibclass_name = 'xxx'class_func_name = 'hello'xx1_module = importlib.import_module('xx1')# 动态创建对象object = getattr(xx1_module, class_name)()# 动态调用方法getattr(object, class_func_name)()

输出:

hello