调用父类的__init__()方法

5

我正在使用Python 2.6.6。

我已经将我的有问题的代码缩小到了这两个类:

class Graph(object):
  def __init__(self, name):
    self.name = name
    self.testme = 3

并且

class StepPlot(Graph):
  def __init__(self, name):
    print("fdasfdsf")
    print(dir(super(Graph, self)))
    super(Graph, self).__init__(name)

很不幸,当我使用StepPlot('fdsfa')实例化一个StepPlot时,我收到了以下错误:

TypeError: object.__init__() takes no parameters

它不应该能够接受一个参数吗?

查看Python何时调用super().__init__()?

这种类的组织方式应该是可以工作的。

我是否有什么基本的遗漏?任何帮助将不胜感激。

1个回答

4
super 的第一个参数应该是调用它的类:
super(StepPlot, self).__init__(name)

如果您需要更多信息,这里有一个链接指向文档


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接