LinuxLudus: Python-domande varie
John Leach
john.leach@syger.com
Gio 22 Maggio 2008 18:57:12 CEST
Ciao Valerio
Come vice presidente del PUG di Villafranca...
Valerio Pachera wrote:
>> #code=utf-8
>> var1= "ciao"
>> var2 = var1
>>
>> var1="hallo"
>> print var2
>>
>> #stampa "ciao" e non "hallo"
>
>> No No No No No. Non c'e' un contrario, e' lo stesso sistema di prima.
> Due alias allo stesso oggetto, solo adesso l'oggetto e' una stringa.
>
>> NO! L'assegnamento di variabile e il passaggio di argomenti nelle
> chiamate a funzione in python avvengono _sempre_ per riferimento.
>
> Mmmmm...mi sconvolgete un po' le idee :)
Calma e sangue freddo. Io rispondeva al codice che hai citato, Federico
al discorso dei parametri ad un metodo. (Ti sto dicendo che sei un
cassinista ;-)
> Sul concetto che var1 č un istanza dell'oggetto stringa...ok , ci sono.
Dove per 'e'' io dicevo 'alias', ma va bene lo stesso.
> Che ho creato un alias di var1, cioč var2... ok ci sono.
Non proprio, riducendo l'equazione:
a = 3
b = a
*quindi b = 3*
anche var2 'e'' sempre quel istanza dell'oggetto stringa.
> Quello che non mi torna č che alla fine della fiera non posso
> modificare var1 se non con "var1".
> Questo vale sia per una stringa che un valore numerico.
Come diceva Andrea, nel prossimo messaggio (!) le stringhe sono (di
solito) immutabili, quindi l'argomento si fa piu' spinoso perche'
introduciamo troppi concetti...
> Provo a ragionarci meglio. Se avete capito il mio dubbio e avete un
> semplice esempio, scrivetemlo :)
Ok. Io sono (fino a prova contrario) un essere umano, con properita' di
peso, altezza, gruppo sanguinio, ecc. Quindi
john = new essere_umano(peso 80, altezza 1.90, gruppo_sangiunio "A")
leach = john
Abbiamo due istanza di essere umano? No
Abbiamo due variabili che 'sono' quel istanza di essere umano? Si
john.gruppo_sanguinio = "O"
Indovina cosa viene scritto con questa riga
print leach.gruppo_sanguinio
(Risposta scritta su banconote di euro 50 accettati)
John
Maggiori informazioni sulla lista
linuxludus