PDA

View Full Version : Python puntatori



Hardcore
17th November 2011, 15:16
Una cosa sul manual della O Rilly non è ben spiegata e cioè come vengono gestite in memoria le variabili.

In pratica si dice che


L1=[1,2,3,4,5]

#L2 punta alla stessa sequenza di oggetti di L1
L2=L1

L1.append(6)

print L2
#Stampa 1,2,3,4,5,6


E fino a qua ok, ma se la variabile fosse un semplice



a=3
b=a


In C++ si può fare che b cambi valore al cambiare di valore di a, qui c'è un modo per farlo?

Eltarion
17th November 2011, 15:22
primo risultato su google

http://lists.python.it/pipermail/python/2007-July/004382.html

powerdegre
17th November 2011, 15:29
Elta, suvvia, vuoi mica svelare tutti i segreti e raccontare al mondo dell'esistenza di google? ma guarda che gente...

Hardcore
17th November 2011, 15:29
Perfetto, grazie.

Eltarion
17th November 2011, 16:07
Comunque sta cosa non la sapevo, alla fine è interessante e molto comodo. Però come dice nel link se sei abituato agli altri linguaggi è strano :/

Hardcore
17th November 2011, 16:09
Si guarda sul manuale è scritto continuamente "Questa cosa è molto comoda ma potrebbe risultarvi strana se venite dal C", e così è infatti.

Eltarion
17th November 2011, 16:20
Sono curioso, come mai stai imparando un po' di Python? Te lo hanno imposto o lo fai per cultura personale? Oppure era il linguaggio migliore per il tipo di progetto che devi fare?

Hardcore
18th November 2011, 16:13
Piccola cosa che mi sembra un po strana è, legato alle funzioni e allo scope.





def function(variabile):
variabile=5


var = 3

print var #Stampa 3

function(var)

print var #Stampa 3




Ora fino a qua è tutto ok come spiegato dall' articolo, il problema è che l'unico modo che ho trovato per ora per avere un comportamento simile a quello dei puntatori è usare il Return, che su Python può ritornare delle tuple e quindi piu variabili. Esiste solo questo modo o ci sono altre vie piu furbe?