扩展新式课程

时间:2015-10-06 08:06:59

标签: python class

我想在pyTree node类中添加一些额外的属性,以实现决策树算法。

对于用户定义的内容,它只有一个data属性,这也是使用类方法getNode(content)时搜索的属性。我想在那里存储一个唯一的ID,但也存储树计算的其他属性。

我尝试过各种各样的事情,但是从this post开始,以下应该是这样做的方式:

from pyTree.Tree import Tree 

class decTree(Tree):
    def __init__(self, val1, val2, data=None, children=None,):
        super(decTree, self).__init__(data=None, children=None)
        self.val1 = val1
        self.val2 = val2

if __name__ == '__main__':
    tree = decTree(val1=1.5, val2='string', data='567')

导致以下属性错误:

TypeError: super() takes at least 1 argument (0 given)

任何有关执行此操作或其他事项的建议都会很好。谢谢!

1 个答案:

答案 0 :(得分:3)

您在Python 2上使用pyTree;但该项目仅适用于Python 3。

来自PyPI page

  

Python 3

中列表派生的TREE数据结构
Python 3中的

super()在方法中使用时不带参数,that's what the pyTree project does。这使得代码库与Python 2不兼容。

你正确地扩展了课程;您的代码在与Python 3一起使用时可以正常工作。