变量= [self]是什么意思?

时间:2014-11-05 14:52:50

标签: python oop

我们刚收到这段代码,但我不明白_todo = [ self ]的含义。

class ABR(object):
    def __init__(self,ordre,root=None):
        self.__root = None
        assert ordre in (lt,gt,leq,geq)
        self.__order = ordre
        if isinstance(root,Sommet):
            self.__root = root

    def __str__(self):
        """ effectue un parcours infixe """
        _todo = [ self ]
        _done = "[ "
        while _todo != [] :
            _next = _todo.pop(0)
            if _next != None :
                if isinstance(_next,Sommet):
                    _done += "%s, " % _next.val
                elif not _next.estVide:
                    if _next.hasRightSubTree :
                        _todo.insert(0,_next.rightSubTree)
                    _todo.insert(0,_next.racine)
                    if _next.hasLeftSubTree :
                        _todo.insert(0,_next.leftSubTree)
        return _done[:-2]+" ]"

1 个答案:

答案 0 :(得分:0)

_todo = [ self ]创建一个名为_todo的列表,其中包含一个元素,该元素是调用__str__方法的对象。 (__str__方法通常由print语句调用。)

然后,该变量随后用于添加/附加子项的字符串表示,以创建树的展平表示。