Je viens vous parler - avec l'aimable autorisation de l'équipe du forum - du projet tout jeune qu\'est Aspyct. C\'est un module qui vous permet d\'utiliser la programmation orientée aspect (AOP) en Python. Le but du projet est d\'être puissant tout en restant simple d'utilisation.
Et le résultat y est ! Une fois votre fonction et votre "conseil" créés, il suffit d'une seule ligne de code pour appliquer ledit conseil à la fonction. Mais jugez par vous-mêmes:
#1 Définissez une fonction
def sayHello():
print('Hello World !')
#2 Définissez votre conseil
def advice():
print('Get ready to say hello !')
#3 Appliquez le conseil à la fonction
Aspyct.beforeCall(sayHello, advice)
#4 Appelez votre fonction
sayHello()
# Voici ce qui sera imprimé à l\'écran
## Get ready to say hello !
## Hello World !
Ce n'est pas plus compliqué que celà. Bien sur, ce que vous voyez ici n'est qu'une petite partie des déjà grandes possibilités de cette librairie. Vous pouvez, entre autres, créer des classes aspect (classes qui regroupent plusieurs conseils), rendre une fonction silencieuse (ce qu'elle imprime ne sortira pas, ou vous pourrez le filtrer), ainsi que bien d'autres choses encore.
Alors, si vous êtes intéressés... http://aspyct.sourceforge.net/
J'espère pouvoir un jour faire une traduction francophone du site, mais ce n'est pas encore prévu à l'heure actuelle.
Pour toute question, vous pouvez poster sur ce sujet, ou aller sur notre forum http://aspyct.sourceforge.net/forum/ (qui est encore un peu vide d'ailleurs ;) )