python class嵌套怎么访问父类

#!/usr/bin/env python  

class parent:  
    def __init__(self):  
        self.name = 'parent'  
  
    def getName(self):  
        print(self.name)

    class child:
        def getName(self):
            #如何访问到父类的name值
  
  
if __name__ == '__main__':  
    child =  parent.child()  
    child.getName()
阅读 6.6k
1 个回答

parent.name在parent实例化之前不存在,所以child没法访问到parent.name
有两种方法

class parent:  
    name = 'parent'  
  
    def getName(self):  
        print(self.name)

    class child:
        def getName(self):
            return parent.name
  
  
if __name__ == '__main__':  
    child =  parent.child()  
    child.getName()

或者先实例化parent然后传参进去

class parent:  
    def __init__(self):  
        self.name = 'parent'  

  
    def getName(self):  
        print(self.name)

    class child:
        def __init__(self,parent):
            self.parent = parent

        def getName(self):
            return self.parent.name
  
  
if __name__ == '__main__':  
    parent = parent()
    child =  parent.child(parent)  
    child.getName()
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题