Ciao a tutti, scrivo perchè uso molto spesso il metodo setdefault dei dict, però anche googlando non sono riuscito a capire<br>perchè quando come value si mette il valore di ritorno di una funzione, essa venga rieseguita ogni volta.<br>
<br>Esempio:<br><br>&gt;&gt;&gt; a = {}<br>&gt;&gt;&gt; a<br>{}<br>&gt;&gt;&gt; def fun1():<br>...     print &#39;passed&#39;<br>...     return 3<br>... <br>&gt;&gt;&gt; a.setdefault(1, fun1())<br>passed<br>3<br>&gt;&gt;&gt; a.setdefault(1, fun1())<br>
passed<br>3<br>&gt;&gt;&gt; a.setdefault(1, fun1())<br>passed<br>3<br><br><br>Qualcuno lo sa?<br><br>Grazie, ciao<br>Nicola<br>