我收到了这个错误TypeError:super()takesatleast1argument(0given)在python2.7.11上使用这段代码:classFoo(object):def__init__(self):passclassBar(Foo):def__init__(self):super().__init__()Bar()使其工作的解决方法是:classFoo(object):def__init__(self):passclassBar(Foo):def__init__(self):super(Bar,self).__init__()Bar()似乎该语法特定于python
这个问题在这里已经有了答案:Howtoavoidinfiniterecursionwithsuper()?(1个回答)关闭7年前。我最近发现(通过StackOverflow)调用基类中的方法我应该调用:super([[派生类]],self).[[基类方法]]()没关系,它有效。但是,当我进行更改时,我发现自己经常在类之间复制和粘贴,并且经常忘记将派生类参数修复为super()函数。我想避免必须记住更改派生类参数。我可以改用self.__class__作为super()函数的第一个参数吗?这似乎行得通,但我有充分的理由不应该这样做吗? 最佳答案
这个问题在这里已经有了答案:Howtoavoidinfiniterecursionwithsuper()?(1个回答)关闭7年前。我最近发现(通过StackOverflow)调用基类中的方法我应该调用:super([[派生类]],self).[[基类方法]]()没关系,它有效。但是,当我进行更改时,我发现自己经常在类之间复制和粘贴,并且经常忘记将派生类参数修复为super()函数。我想避免必须记住更改派生类参数。我可以改用self.__class__作为super()函数的第一个参数吗?这似乎行得通,但我有充分的理由不应该这样做吗? 最佳答案
ActivatingMorePixelsinImageSuper-ResolutionTransformer(在图像超分辨率transformer中激活更多的像素)作者:XiangyuChen1,2,XintaoWang3,JiantaoZhou1,andChaoDong2,4单位:1UniversityofMacau2ShenzhenInstituteofAdvancedTechnology,ChineseAcademyofSciences3ARCLab,TencentPCG4ShanghaiAILaboratory代码:GitHub-chxy95/HAT:ActivatingMorePix
我有一个带有很多__init__参数的基类:classBaseClass(object):def__init__(self,a,b,c,d,e,f,...):self._a=a+bself._b=bifbelsea...所有的继承类都应该运行基类的__init__方法。我可以在每个调用父类(superclass)__init__的继承类中编写一个__init__()方法,但这将是严重的代码重复:classA(BaseClass):def__init__(self,a,b,c,d,e,f,...):super(A,self).__init__(a,b,c,d,e,f,...)classB
我有一个带有很多__init__参数的基类:classBaseClass(object):def__init__(self,a,b,c,d,e,f,...):self._a=a+bself._b=bifbelsea...所有的继承类都应该运行基类的__init__方法。我可以在每个调用父类(superclass)__init__的继承类中编写一个__init__()方法,但这将是严重的代码重复:classA(BaseClass):def__init__(self,a,b,c,d,e,f,...):super(A,self).__init__(a,b,c,d,e,f,...)classB
我正在尝试学习Python中的super()函数。我以为我已经掌握了它,直到我看到这个例子(2.6)并发现自己卡住了。http://www.cafepy.com/article/python_attributes_and_methods/python_attributes_and_methods.html#super-with-classmethod-exampleTraceback(mostrecentcalllast):File"",line1,inFile"test.py",line9,indo_somethingdo_something=classmethod(do_somet
我正在尝试学习Python中的super()函数。我以为我已经掌握了它,直到我看到这个例子(2.6)并发现自己卡住了。http://www.cafepy.com/article/python_attributes_and_methods/python_attributes_and_methods.html#super-with-classmethod-exampleTraceback(mostrecentcalllast):File"",line1,inFile"test.py",line9,indo_somethingdo_something=classmethod(do_somet
在Python中,如何从父类(superclass)创建子类? 最佳答案 #InitializeusingParent#classMySubClass(MySuperClass):def__init__(self):MySuperClass.__init__(self)或者,更好的是,使用Python的内置函数super()(参见Python2/Python3文档)可能是调用用于初始化的父级:#BetterinitializeusingParent(lessredundant).#classMySubClassBetter(MySu
在Python中,如何从父类(superclass)创建子类? 最佳答案 #InitializeusingParent#classMySubClass(MySuperClass):def__init__(self):MySuperClass.__init__(self)或者,更好的是,使用Python的内置函数super()(参见Python2/Python3文档)可能是调用用于初始化的父级:#BetterinitializeusingParent(lessredundant).#classMySubClassBetter(MySu