我创建了一个具有类型的类,因为我需要使用一个变量作为基础。如果我不提供__init__
方法,它可以正常工作,但是当我提供方法时,我无法调用 base 的__init__
.
作品:
def constructor():
blah blah
api = importlib.import_module(xtype)
mc = type('mc', (api.aclass,), {})
obj = mv(**args)
return obj
不起作用,返回“ SystemError: super(): __class__ cell not found
”
def constructor():
blah blah
api = importlib.import_module(xtype)
mc = type('mc', (api.aclass,), dict(__init__ = mc__init)
obj = mc(**args)
return obj
def mc_init(*args, **kwargs):
do_some_stuff
super().__init__(*args, **kwargs)
不起作用,Base mc.__init__ not called.
稍后在创建对象时返回“”:
def constructor():
global api
blah blah
api = importlib.import_module(xtype)
mc = type('mc', (api.aclass,), dict(__init__ = mc__init)
obj = mc(**args)
return obj
def mc_init(*args, **kwargs):
global api
do_some_stuff
api.aclass.__init__(*args, **kwargs)
x = constructor()
如何调用基类的init ?
谢谢。