Почему «вернуть себя» возвращает «Нет»?

м пытается получить верхний узел цепочки вgetTopParent(), Когда я распечатаюself.name, это действительно печатает имя родительского экземпляра; однако, когда я вернусьself, он возвращает None. Почему это?

class A:
    def __init__( self, name ):
        self.name = name
        self.owner = None
    def setChild( self, l ):
        l.owner = self
    def getTopParent( self ):
        if( self.owner == None ): # None == top parent
            print( "Got top: %s" % self.name )
            return self
        else:
            print( "checking %s" % self.name )
            self.owner.getTopParent()

a = A( "parent" )
b = A( "child1" )
c = A( "child2" )
d = A( "child3" )
a.setChild( b )
b.setChild( c )
c.setChild( d )

print( d.getTopParent() )
>>> checking child3
    checking child2
    checking child1
    Got top: parent
    None

Ответы на вопрос(4)

Ваш ответ на вопрос