繁体   English   中英

扩展新型课程

[英]Extending a new-style class

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

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

我已经尝试做各种事情,但是从这篇文章中看来,以下应该是这样做的方法:

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)

在执行此操作时需要考虑的任何建议或其他考虑因素都将很好。 谢谢!

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

PyPI页面上

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

当在方法中使用时,Python 3中的super()不接受任何参数,而pyTree项目就是这样做的 这使得代码库与Python 2不兼容。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM