【发布时间】:2012-01-12 07:36:55
【问题描述】:
我想定义自己的树状类。我写过这样的代码:
class forest:
class tree:
def __init__(self):
self.var_a = []
self.var_b = []
#Or something as simple
def mk(self,something):
#Some instructions
self.a = tree()
b_var = self.a.mk(a_var)
self.b = tree()
c_var = self.a.mk(b_var)
#Some instructions
return ret
#Some code for class forest
tree() 不行。
NameError: global name 'tree' is not defined
self.tree() 的错误:
AttributeError: 'tree' object has no attribute 'tree'
我不知道如何(或是否)在这种情况下使用 self.__init__ 或 self.__new__。
问题
可以在 Python3 中使用递归类吗?这个代码看起来如何?
【问题讨论】:
-
你想要
forest.tree,因为tree类在forest类中。 -
它看起来有效。但是,我在编写简单的测试用例时遇到了问题......
-
@Michas 如果您的问题已被回答,请将其标记为已接受。
标签: python python-3.x class oop recursion