[Python] decoratori ..
Marco Mariani
birbag a gmail.com
Mar 29 Nov 2011 22:13:32 CET
2011/11/29 Matteo Boscolo <matteo.boscolo a 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.
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20111129/e16b51fc/attachment.html>
Maggiori informazioni sulla lista
Python