2011/11/29 Matteo Boscolo <matteo.bosc...@boscolini.eu>
> e mi sono accorto che se uso i decoratori con le funzioni questi vengono eseguiti durante > l'esecuzione del modulo. Sei tu che chiedi di eseguire la funzione, chiamando fooo() all'inteno del decoratore. Il decoratore riceve una funzione come parametro, ovvero fooo=g e fooo=f. Procede poi a chiamare fooo(), quindi ottieni l'effetto di chiamare g() ed f(). Il decoratore in se' viene eseguito quando definisci la funzione. La sintassi equivalente in python pre-decoratori, sarebbe > def g(): > return f+b > g = ex(g) Se vuoi rimandare l'esecuzione di g(), devi ritornare dal decoratore una funzione che agisce da 'wrapper' su g, generalmente una closure o un oggetto callable.
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python