[Python] Python decorators "Si mangiano?"

Sandro Dentella sandro a e-den.it
Mer 10 Gen 2007 10:57:10 CET


On Wed, Jan 10, 2007 at 10:36:52AM +0100, Picio wrote:
> E' sicuramente più chiaro, ti ringrazio, anche se appena ho cliccato
> su link Design Pattern della gang of four, mi sono reso conto che
> esiste un "Nuovo Mondo".
> Mi sa tanto che finche non avrò l'esigenza specifica di avere metodi
> aggiuntivi a runtime non capirò bene l'utilità dei Decorators.
> In effetti sono ancora all'inizio della programmazione in Python e di
> quella ad oggetti.
> Cmq Grazie.
> 
> Daniele
> 
> P.s.: mi sai indicare un link con un esempio pratico sui decorators?

Per me il modulo 'decorator' di Michele Simionato e la relativa documentazione
sono stati molto preziosi per comprendere ed apprezzare l'uso dei decoratori

http://www.phyast.pitt.edu/~micheles/python/documentation.html

in ogni caso, giusto per dare il sapore di un uso molto pratico e facile da
comprendere, se in django hai una vista (ovvero la funzione che elabora la
richiesta e gerera la risposta) e desideri fare in modod che accedano a
questa funzione solo persone autenticate dal sistema fai così:

@login_required
def my_view(request):
    ...


evitando di dover scrivere all'interno della funzione il codice
relativo. Nota l'inizio  della documentazione di Michele:

  Python 2.4 decorators are an interesting example of why syntactic sugar
  matters: in principle, their introduction changed nothing, since they do not
  provide any new functionality which was not already present in the language;
  in practice, their introduction has significantly changed the way we
  structure our programs in Python.


*:-)


-- 
Sandro Dentella  *:-)
e-mail: sandro a e-den.it 
http://www.tksql.org                    TkSQL Home page - My GPL work


Maggiori informazioni sulla lista Python