我不确定为什么下面的代码会导致错误。我只是在基类Option
中创建了一个子类Security
,并尝试在super.get_description()
函数中使用get_description()
,这会导致错误。
class Security(object):
def __init__(self, name, BriefDesc):
self.name = name
self.BriefDesc = BriefDesc
def __str__(self):
return self.name + ' ' + self.BriefDesc + ': ' + self.get_description()
def get_description(self):
return 'no detailed description.'
class Option(Security):
def __init__(self):
Security.__init__(self, 'Option', '(Derivative Security)')
def get_description(self):
return super.get_description() # Error here when print is executed. I am unsure why
def study_security(security):
print security
print study_security(Option()) # Results in an error
答案 0 :(得分:1)
您需要调用super
并传递正确的参数 1 :
return super(Option, self).get_description()
以下是documentation for super
的链接。
1 但最后一部分仅在Python 2.x中是必需的。在Python 3.x中,您可以这样做:
return super().get_description()