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

Rispondere a