idl*_*age 1 python return-value
我正试图获得链中的顶级节点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
Run Code Online (Sandbox Code Playgroud)