Ciao a tutti Ho creato questa classe: class Traduttore: """ La classe astratta 'Traduttore' definisce un oggetto di tipo traduttore. La classe rappresenta ogni oggetto in grado di leggere da qualsiasi sorgente e scrivere in qualsiasi destinazione: DB, csv, xml, html... Ogni sottoclasse deve avere un lettore e uno scrittore appropriato alla sorgente e alla destinazione. """ def __init__(self,tipo): if tipo=='fix_csv2csv': self.lettore=Lettore_fix_csv() self.scrittore=Scrittore_csv() self.dati=self.scrittore.dati=self.lettore.dati
Sia la classe lettore che quella scrittore hanno una proprieta' *dati* che non e' altro che una lista.
Da quello che sapevo, l'ultimo assegnamento dovrebbe far puntare self.dati, self.lettore.dati, e self.scrittore.dati alla stessa lista... invece piu' avanti utilizzo una cosa tipo self.dati=self.dati[:-1] da cui mi rendo conto che l'unica lista modificata e' self.dati Perche'? invece usando del self.dati[-1:] modifico tutte e tre!! Chiaramente ho risolto, ma perche' si comporta cosi'? Grazie mille diego _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python