[Python] Introspezione - Ottenere implicitamente una variabile della classe parent

Francesco Guerrieri f.guerrieri a gmail.com
Dom 13 Mar 2011 11:07:16 CET


2011/3/13 Giovanni Porcari <giovanni.porcari a softwell.it>:
>
> Siccome la risposta mi sembra banale forse mi sfugge qualcosa:
>
> class A(object):
>    def __init__(self):
>        self.b = B(self)
>        self.txt = 'Ciao'
>
> class B(object):
>    def __init__(self,parent):
>        self.parent = parent
>
>    def saluta(self):
>        # accedere a self.txt della classe A
>        print parent.txt
>
>
>
> Ho frainteso la tua domanda ?


Ciao,

per evitare possibili confusioni penso che Giovanni intendesse
     print self.parent.txt

cioè:
 1) nel namespace dell'oggetto B (che nel contesto del metodo saluta è
individuato da self)
 2) cerca il nome parent (che è stato definito nel metodo __init__ di
B e che incidentalmente è stato posto uguale all'argomento "parent" di
__init__, ma sono due "parent" diversi)
 3) e accedi all'attributo txt di parent, qualunque esso sia (cioè non
c'è un controllo sul "tipo" di parent, che sia effettivamente un
oggetto A )

ciao,
Francesco


Maggiori informazioni sulla lista Python