如何通过字符串动态实例化对象和调用方法?

如何通过字符串动态实例化对象和调用方法?

通过字符串动态实例化对象和调用方法

为了解决如何通过字符串动态实例化对象和调用方法的问题,可以使用如下方法:

代码:

xx1.py

class xxx:
    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

# 动态导入模块
xx1_module = importlib.import_module('xx1')

# 动态实例化对象
object = getattr(xx1_module, "xxx")()

# 动态调用对象方法
method = getattr(object, "hello")
method()

# 动态调用函数
function = getattr(xx1_module, "xxx2")
function()

通过此方法,可以实现动态实例化对象和调用方法。

输出:

hello xxx
hello xxx2

以上就是如何通过字符串动态实例化对象和调用方法?的详细内容,更多请关注硕下网其它相关文章!