Por que 'devolver-se' não retorna?
Eu estou tentando obter o nó superior de uma cadeia emgetTopParent()
. Quando eu imprimoself.name
, na verdade, imprime o nome da instância pai; no entanto, quando eu retornarself
, retorna Nenhum. Por que é isso?
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