如何通过字符串动态实例化对象和调用方法?
通过字符串动态实例化对象和调用方法
为了解决如何通过字符串动态实例化对象和调用方法的问题,可以使用如下方法:
代码:
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 xxxhello xxx2