以下应该工作:
import thirdpartymodule_a
import thirdpartymodule_b
def new_init(self):
self.a = 43
thirdpartymodule_a.someClass.__init__ = new_init
thirdpartymodule_b.dosomething()
如果要新的init调用旧的init,则将new_init()
定义替换为以下内容:
old_init = thirdpartymodule_a.someClass.__init__
def new_init(self, *k, **kw):
old_init(self, *k, **kw)
self.a = 43