#classb.py
class classb: def foo(self): print("this is classb") def bar(self,i): print("classb:%s" %i)
#classa.py
class classa: def foo(self): print("this is foo") def bar(self,i): print("sssss:%s" %i)
#main.py
class Main: def __init__(self, module_name): self.module_name = module_name self.module = None def __getattr__(self, funcname): if self.module is None: self.module = __import__(self.module_name) class_tmp=getattr(self.module, self.module_name) class_obj = class_tmp() func_tmp = getattr(class_obj, funcname) return func_tmp abc = Main('classa') abc.bar("aaaaa") abc = Main('classb') abc.bar("aaaaa")