Aller au contenu principal

Le site sera en maintenance le 19/04/2026 entre 09h30 et 12h00.

Aller au contenu principal

Tu as déjà vu @app.route dans Flask ou @classmethod. C'est quoi ce @ ?

Un décorateur est une fonction qui prend une fonction en entrée, et renvoie une nouvelle fonction modifiée. C'est comme un emballage cadeau autour de ton code.

Exemple : Mesurer le temps d'exécution

import time

def chronometre(fonction):
    def wrapper():
        debut = time.time()
        fonction() # On exécute la vraie fonction
        fin = time.time()
        print(f"La fonction a mis {fin - debut} secondes.")
    return wrapper

@chronometre
def fonction_lente():
    time.sleep(1)
    print("Fini !")

fonction_lente()
# Affiche :
# Fini !
# La fonction a mis 1.00... secondes.

C'est ultra puissant pour ajouter du logging, de l'authentification, ou du cache sans toucher au code de la fonction originale.

Commentaires (0)

Laisser un commentaire

Aucun commentaire pour le moment. Soyez le premier à commenter !