[Python] Dubbi su passaggio variabili a funzione
Vito De Tullio
zak.mc.kraken a libero.it
Lun 24 Nov 2008 19:20:36 CET
Massimo Capanni wrote:
> Parafrasando Franchi il "bigliettino" dentro
> la scatola e' stato riscritto e quindi dovrei puntare al nuovo oggetto
> linkato (nuovo indirizzo dell'oggetto), invece mi da none ...
in effetti è più semplice di quanto credi :)
def f(obj):
obj = 'ciao'
a = []
f(a)
print a
guarda queste 4 righe :)
ho una funzione f che ha in input un certo oggetto, passato per "etichetta",
sotto il nome obj.
tuttavia l'unica cosa che la funzione fa è prendere l'etichetta
obj, "staccarla" dal suo vecchio oggetto (che *non* è stato modificato di
una virgola!) e attaccarla ad un secondo oggetto di tipo str ('ciao').
ora invochiamola.
creiamo un oggetto di tipo list ([]), e rendiamolo raggiungibile tramite
l'etichetta a
invochiamo f(a): ovviamente essendoci un passaggio per etichetta verrà
copiata quest'ultima; internamente f, quindi, modificherà una copia
dell'etichetta, non a!
tant'è che se proviamo a stampare a, mostrerà una bella lista vuota :)
--
By ZeD
Maggiori informazioni sulla lista
Python