salve,<br><br>scusate ma solo adesso ho potuto leggere le risposte.<br>Confesso che sono un po&#39; confuso e provo ad aggiungere<br>un alto dettaglio che motivi il mio dubbio (tengo a precisare<br>che ho chiaro cosa significhi per rifermiento e per valore<br>
visto che ci ho sbattuto la testa con Pascal e C :&quot;)&nbsp;&nbsp; )<br>ma e&#39; la pratica che mi ha confuso le idee. <br><br>Ad esempio, per&nbsp; esercizio mi sono creato una sorta di lista linkata:<br><br>class nodo:<br>&nbsp;&nbsp; def __init__(self, parametro = None, next = None):<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.parametri = parametri<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.next = None<br><br># creo due nodi<br>lista = nodo()<br>p = nodo(&quot;foffo&quot;)<br><br># aggiungo l&#39;ultimo nodo in testa<br><br>def add(lista, p):<br>&nbsp;&nbsp;&nbsp; p.next = lista<br>
&nbsp;&nbsp;&nbsp; lista.next = p<br>&nbsp;&nbsp;&nbsp; p = l<br><br>mi aspettavo che &#39;lista&#39; puntasse a &#39;p&#39; invece il valore non cambia!<br>cosi&#39; dopo numerosi tentativi mi sono accorto che il parametro<br>passato non cambiava (e add non aggiungeva un bel nulla alla lista ...)<br>
Parafrasando Franchi il &quot;bigliettino&quot; dentro<br>la scatola e&#39; stato riscritto e quindi dovrei puntare al nuovo oggetto<br>linkato (nuovo indirizzo dell&#39;oggetto), invece mi da none ...<br>Discorso contrario se aggiungo alla funzione add:<br>
<br>return p<br><br>Forse mi sto perdendo in un bicchier d&#39;acqua ...<br><br><br><div class="gmail_quote">2008/11/24 Manlio Perillo <span dir="ltr">&lt;<a href="mailto:manlio_perillo@libero.it">manlio_perillo@libero.it</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Manlio Perillo ha scritto:<br>
<div class="Ih2E3d">&gt; Enrico Franchi ha scritto:<br>
&gt;&gt; On Nov 23, 2008, at 11:35 AM, Lawrence Oluyede wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Viene sempre e comunque passato l&#39;oggetto riferito dall&#39;etichetta<br>
&gt;&gt;&gt; (quindi non è definibile né come &quot;call by value&quot;, né come &quot;call by<br>
&gt;&gt;&gt; reference&quot;), in questo caso la lista è una variabile mutabile, indi<br>
&gt;&gt;&gt; per cui puoi mutarla all&#39;interno della funzione, come all&#39;esterno.<br>
&gt;&gt; Io direi che viene passato per valore il riferimento. :P<br>
&gt;&gt;<br>
&gt;&gt; Sembra il modo per assurdo più semplice per definire il comportamento.<br>
&gt;&gt;<br>
&gt;<br>
&gt; Potrebbe però generare confusione.<br>
&gt;<br>
<br>
</div>Scusa, avevo letto riferimento e capito male quello che avevi scritto!<br>
<br>
<br>
&nbsp;&gt; [...]<br>
<br>
<br>
Ciao &nbsp;Manlio<br>
<div><div></div><div class="Wj3C7c">_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</div></div></blockquote></div><br>