如何动态地在 Python 中实例化对象并调用方法?

ID:21112 / 打印

如何动态地在 python 中实例化对象并调用方法?

python 动态实例化对象和调用方法的问题

在 python 中,我们通常可以通过导入模块并使用其中的类和函数来实例化对象并调用方法。但是,当我们希望动态地执行这些操作时,就需要一些技巧。

如何动态实例化对象和调用方法?

我们可以使用 importlib.import_module 动态导入模块,然后使用 getattr 函数来获取其中的类和函数。

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

以下代码演示了如何实现:

# xx1.py class xxx(object):     name = 'xxx'      def __init__(self, name='xxx'):         self.name = name      def hello(self):         print(f'hello {self.name}')   def xxx2(name='xxx2'):     print(f'hello {name}')  # xx2.py import importlib  class_name = 'xxx' class_func_name = 'hello' func_name = 'xxx2'  xx1_module = importlib.import_module('xx1')  getattr(xx1_module, class_name)().hello()  getattr(getattr(xx1_module, class_name)(), class_func_name)()  getattr(xx1_module, func_name)()

运行此代码将输出:

hello xxx hello xxx hello xxx2

其中,getattr(xx1_module, class_name) 获取类 xxx,getattr(xx1_module, class_name)() 实例化此类,getattr(getattr(xx1_module, class_name)(), class_func_name)() 调用其方法 hello,getattr(xx1_module, func_name)() 调用函数 xxx2。

上一篇: 如何在启用 Python 虚拟环境 (venv) 的项目中编写 .gitignore?
下一篇: Python函数交互疑惑解惑:如何实现函数间修改列表并显示结果?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。