Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Définition d'un décorateur

Un décorateur permet d'intercepter les appels à des méthodes en intercalant des traitements avant ou après l'appel à la fonction souhaitée.

Exemple de code

#!/usr/bin/python3
			                    
def MyDecorator(f):
    print( "in the the decorator" )
    def hookFunction():
        print( "begin " + str( f ) )
        result = f()
        print( "end " + str( f ) )
        return result
    return hookFunction

@MyDecorator
def decoratedMethod():
    print( "function call" )
    return "Hello"


print( decoratedMethod() )

Pour lancer cet exemple, veuillez procéder ainsi :

$> python3 Decorator.py 
in the the decorator
begin <function decoratedMethod at 0x7f60cc706b90>
function call
end <function decoratedMethod at 0x7f60cc706b90>
Hello
$>