问题描述
我正在尝试使用多个构造函数(使用 @classmethod
构造函数)构建一个父类。一般来说,我对此没有问题,但这次我需要 __init__
方法来获取来自每个不同构造函数的任意关键字参数,因此我无法提前指定它们。然后使用各种构造函数在整个代码中多次对此类进行子类化。
问题是我似乎无法在子类中启动父类。我收到此错误:
TypeError: __init__() got an unexpected keyword argument 'var1'
class Test:
def __init__(self,**kwargs):
for key,value in kwargs.items():
setattr(self,key,value)
@classmethod
def from_args(cls,var1):
return cls(var1=var1)
class SubTest(Test):
def __init__(self):
super(SubTest,self).from_args('pie')
if __name__ == '__main__':
obj = Subtest()
print(obj.var1)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)