On Thu, 15 Jul 2010 12:11:47 +0200, Nicola Zanella <ing.za...@gmail.com> wrote: > Ciao a tutti, scrivo perchè uso molto spesso il metodo setdefault dei > dict, > però anche googlando non sono riuscito a capire > perchè quando come value si mette il valore di ritorno di una funzione, > essa > venga rieseguita ogni volta. > > Esempio: > >>>> a = {} >>>> a > {} >>>> def fun1(): > ... print 'passed' > ... return 3 > ... >>>> a.setdefault(1, fun1()) > passed > 3 >>>> a.setdefault(1, fun1()) > passed > 3 >>>> a.setdefault(1, fun1()) > passed > 3 > > > Qualcuno lo sa?
La stai eseguendo tu "a mano" scrivendo "fun1()", con le parentesi. Prova a.setdefault(1, fun1) Ciao! -- Daniele Varrazzo - Develer S.r.l. http://www.develer.com _______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python