recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment accéder à la classe parent dans l'imbrication de classes Python

#!/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()
淡淡烟草味淡淡烟草味2757 Il y a quelques jours880

répondre à tous(1)je répondrai

  • ringa_lee

    ringa_lee2017-05-18 10:54:40

    parent.name n'existe pas avant l'instanciation du parent, donc l'enfant ne peut pas accéder à parent.name
    Il existe deux méthodes

    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()

    Ou instanciez d'abord le parent, puis transmettez les paramètres dans

    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()

    répondre
    0
  • Annulerrépondre