Ciao a tutti,<br><br>mi trovo in una condizione particolare.<br>Ho una classe che contiene dei dati, e in questa classe viene istanziata a sua volta un'oggetto che dovrebbe manipolare i dati contenuti nella classe stessa.<br>
Mi spiego con un esempio:<br><br>===============================<br>class A(object):<br>    def __init__(self):<br>        self.b = B()<br>        self.txt = 'Ciao'<br>        <br>class B(object):<br>    def saluta(self):<br>
        # accedere a self.txt della classe A<br>        pass<br>===============================<br><br>Usando i metodi di B() attraverso A().b.saluta() vorrei che fosse stampato il valore di self.txt<br><br>Potrei ovviamente passargli il valore per parametro, ma il problema è che le funzioni reali devono manipolare parecchi dati e le funzioni vengono utilizzate<br>
in più punti del programma, per cui passare ogni volta tutti i dati necessari si rende scomodo. Cosi pensavo di poter sfruttare il potere dell'introspezione di Python.<br><br>Ho dato una occhiata al modulo 'inspect' ma purtroppo ho solo trovato come accedere al caller, e in questo caso, non riesco ad ottenere uno stack precedente<br>
(probabilmente perchè effettivamente A() non è un caller di B() ma ne crea solo una istanza, mentre il metodo è chiamato nello scope globale).<br><br>Come potrei risolvere?<br>L'introspezione mi farebbe comodo, e sarebbe anche utile imparare questa cosetta :)<br>
Come sempre resto a disposizione per suggerimenti di ogni tipo.<br><br>Saluti.<br>