0
我正在使用importlib
& getattr
来动态创建一个类的实例。但是,当我运行下面提供的Proxy.py
时,构造函数被调用两次,并且我得到重复的结果。提前致谢。 (Python的3.6.1)构造函数在动态实例化类时被调用两次
结果
inside Cproxy contructor
inside Cproxy read()
inside Cproxy contructor
inside Cproxy read()
Runner.py
import importlib
class Crunner:
def __init__(self, nameofmodule, nameofclass):
self.run(nameofmodule, nameofclass)
def run(self, nameofmodule, nameofclass):
module = importlib.import_module(nameofmodule)
class_ = getattr(module, nameofclass)
instance = class_()
instance.read()
Proxy.py
from Runner import Crunner
class Cproxy:
def __init__(self):
print("inside Cproxy contructor")
def read():
print("inside Cproxy read()")
Crunner("Proxy", "Cproxy")
再次感谢@bruno desthuilliers为迅速解决和澄清。 –