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>>>> a = {}<br>>>> a<br>{}<br>>>> def fun1():<br>... print 'passed'<br>... return 3<br>... <br>>>> a.setdefault(1, fun1())<br>passed<br>3<br>>>> a.setdefault(1, fun1())<br>
passed<br>3<br>>>> a.setdefault(1, fun1())<br>passed<br>3<br><br><br>Qualcuno lo sa?<br><br>Grazie, ciao<br>Nicola<br>