Ciao a tutti, mi trovo in una condizione particolare. 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. Mi spiego con un esempio:
=============================== class A(object): def __init__(self): self.b = B() self.txt = 'Ciao' class B(object): def saluta(self): # accedere a self.txt della classe A pass =============================== Usando i metodi di B() attraverso A().b.saluta() vorrei che fosse stampato il valore di self.txt Potrei ovviamente passargli il valore per parametro, ma il problema è che le funzioni reali devono manipolare parecchi dati e le funzioni vengono utilizzate 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. 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 (probabilmente perchè effettivamente A() non è un caller di B() ma ne crea solo una istanza, mentre il metodo è chiamato nello scope globale). Come potrei risolvere? L'introspezione mi farebbe comodo, e sarebbe anche utile imparare questa cosetta :) Come sempre resto a disposizione per suggerimenti di ogni tipo. Saluti.
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python