<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2016-05-30 21:16 GMT+01:00 Piacenza Federico <span dir="ltr"><<a href="mailto:piacenza.federico@gmail.com" target="_blank">piacenza.federico@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>Aiutatemi per favore, proprio non capisco cosa sbaglio.<br></div></div></div></div>
</blockquote></div><br>E' una faq... leggiti la PEP8. Detto questo, secondo me devi chiarirti come funziona l'assegnamento (e il passaggio di parametri) in Python...</div><div class="gmail_extra"><br></div><div class="gmail_extra">0. cosa stampa esattamente (ovvero, quante volte stampa 'called g') questo programma?</div><div class="gmail_extra">def g():</div><div class="gmail_extra"> print 'called g'</div><div class="gmail_extra"> return []</div><div class="gmail_extra"><br></div><div class="gmail_extra">def f(b=g()):</div><div class="gmail_extra"> b.append(1)</div><div class="gmail_extra"><br></div><div class="gmail_extra">g()</div><div class="gmail_extra">g()</div><div class="gmail_extra"><br></div><div class="gmail_extra">1. secondo te cosa fa</div><div class="gmail_extra"><br></div><div class="gmail_extra">a = []</div><div class="gmail_extra">b = a</div><div class="gmail_extra">a.append(1)</div><div class="gmail_extra">print b</div><div class="gmail_extra"><br></div><div class="gmail_extra">2. secondo te cosa fa</div><div class="gmail_extra"><br></div><div class="gmail_extra">def f(b):</div><div class="gmail_extra"> b.append(1)</div><div class="gmail_extra"><br></div><div class="gmail_extra">a = []</div><div class="gmail_extra">f(a)</div><div class="gmail_extra">print a</div><div class="gmail_extra"><br></div><div class="gmail_extra">3. cosa fa</div><div class="gmail_extra"><br></div><div class="gmail_extra">a = []</div><div class="gmail_extra"><br></div><div class="gmail_extra">def f(b=a):</div><div class="gmail_extra"> b.append(1)</div><div class="gmail_extra"><br></div><div class="gmail_extra">f(a)</div><div class="gmail_extra">print a</div><div class="gmail_extra"><br></div><div class="gmail_extra">4. perche' 3 dovrebbe essere diverso da 2?</div><div class="gmail_extra">5. perche' 3. dovrebbe essere diverso da</div><div class="gmail_extra"><br></div><div class="gmail_extra">def f(b=[]):</div><div class="gmail_extra"> b.append(1)</div><div class="gmail_extra"><br></div><div class="gmail_extra">f()</div><div class="gmail_extra"><br></div><div class="gmail_extra">... eh... non so come fartelo printare (senza cambiare l'eserczio o fare dei magheggi che non vuoi vedere).</div><div class="gmail_extra"><br></div><div class="gmail_extra">Beh, dai, se siamo arrivati fin qui... sappiamo che l'oggetto che e' stato passato ad f quando l'abbiamo invocata (senza argoment) sara' [1, ].</div><div class="gmail_extra">E guarda 0...</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"> .<br>..: -enrico-</div>
</div></div>