Salve a tutti, ho un problema "teorico". Se eseguo il seguente codice:
class pippo(): def __init__(self, pezzo): self.pezzo = pezzo a = pippo(10) b = a a.pezzo = 5 print b.pezzo ... otterrò come risultato 5, perché a e b si riferiscono esattamente allo stesso oggetto, che è stato modificato. Fin qui tutto bene (anche se ci ho messo un po' a capirlo). Però se dò il seguente codice: a = 10 b = a a = 5 print b ... ottengo invece come risultato 10, perché a e b si riferiscono a due oggetti diversi. Ovviamente non trovo affatto scandaloso (semplicemente perché ci semplifica assai le cose) che il simbolo = la prima volta significhi "indica lo stesso oggetto" e la seconda "fai una copia dell'oggetto". Il problema è: ho notato che anche con le stringhe si ricade nel secondo caso ("fai una copia"); esistono altri tipi di dato per cui la cosa funziona così? C'è una classificazione precisa dei tipi in base al comportamento di "="? O semplicemente l'"=" significa sempre "fai una copia" tranne nel caso di classi? Anche solo un link per delucidarmi un po' le idee sarebbe molto gradito. grazie, ciao Pietro
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python