Décorateurs
Apprenez à utiliser les décorateurs pour modifier ou étendre des fonctions
Décorateurs est une leçon Python For Kids gratuite sur CoddyKit. Ceci est la leçon 1 sur 5. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python For Kids, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python For Kids comprend 5 leçons au total.
Introduction aux decorators
Les decorators sont une fonctionnalité puissante de Python qui vous permet de modifier le comportement des fonctions ou des méthodes. Ils servent souvent à ajouter des fonctionnalités aux fonctions sans modifier leur code.
Dans cette leçon, vous apprendrez ce que sont les decorators, comment les utiliser et comment créer vos propres decorators.

Qu’est-ce qu’un decorator ?
Un decorator est une fonction qui reçoit une autre fonction en entrée et renvoie une nouvelle fonction dotée de fonctionnalités supplémentaires. Il est souvent utilisé avec la syntaxe @decorator_name.
# Basic example of a decorator
def decorator(func):
def wrapper():
print("Before the function call")
func()
print("After the function call")
return wrapper
@decorator
def say_hello():
print("Hello!")
say_hello()Fonctionnement des decorators
Lorsque vous utilisez un decorator, Python remplace la fonction d’origine par la fonction wrapper renvoyée par le decorator.
# How decorators work
def decorator(func):
def wrapper():
print("Wrapper called")
func()
return wrapper
@decorator
def greet():
print("Greetings!")
print(greet.__name__) # Outputs: wrapper
greet()Utiliser des decorators avec des arguments
Les decorators peuvent fonctionner avec des fonctions qui prennent des arguments en utilisant *args et **kwargs dans la fonction wrapper :
# Decorator for functions with arguments
def decorator(func):
def wrapper(*args, **kwargs):
print(f"Arguments: {args}, {kwargs}")
return func(*args, **kwargs)
return wrapper
@decorator
def add(a, b):
return a + b
print(add(3, 5))Chaînage de plusieurs decorators
Vous pouvez utiliser plusieurs decorators sur une même fonction. Ils sont appliqués dans l’ordre où ils apparaissent, de haut en bas :
# Chaining multiple decorators
def decorator1(func):
def wrapper():
print("Decorator 1")
func()
return wrapper
def decorator2(func):
def wrapper():
print("Decorator 2")
func()
return wrapper
@decorator1
@decorator2
def greet():
print("Hello!")
greet()Création de décorateurs paramétrés
Les décorateurs paramétrés prennent des arguments et permettent d’obtenir des fonctionnalités plus flexibles :
# Parameterized decorator
def repeat(times):
def decorator(func):
def wrapper(*args, **kwargs):
for _ in range(times):
func(*args, **kwargs)
return wrapper
return decorator
@repeat(3)
def say_hello():
print("Hello!")
say_hello()Cas d’utilisation courants des décorateurs
Les décorateurs sont couramment utilisés pour :
- Journaliser les appels de fonctions et leurs arguments.
- Mesurer le temps d’exécution des fonctions.
- Contrôler les accès, par exemple en vérifiant les autorisations des utilisateurs.
- Mettre en cache les résultats pour améliorer les performances.
Décorateurs intégrés de Python
Python fournit plusieurs décorateurs intégrés, notamment :
@staticmethod: définit une méthode statique.@classmethod: définit une méthode de classe.@property: définit une méthode de propriété.
Erreurs courantes avec les decorators
Voici quelques erreurs à éviter :
- Ne pas préserver le nom et la chaîne de documentation de la fonction d’origine (utilisez
functools.wraps). - Utiliser des decorators inutilement pour des tâches simples.
- Oublier de gérer les arguments dans la fonction wrapper.
Qu’avons-nous appris ?
Dans cette leçon, vous avez appris :
- Ce que sont les décorateurs et comment ils fonctionnent en Python.
- Comment créer et utiliser des décorateurs simples, paramétrés et chaînés.
- Les cas d’utilisation courants et les décorateurs intégrés de Python.
Excellent travail ! Passons au sujet suivant.

Questions Fréquemment Posées
La leçon « Décorateurs » est-elle gratuite ?
Oui — le texte complet de « Décorateurs » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python For Kids, passe à CoddyKit PRO. Le cours Python For Kids comprend 5 leçons au total.
Qu'est-ce que j'apprendrai dans « Décorateurs » ?
Apprenez à utiliser les décorateurs pour modifier ou étendre des fonctions Tu pratiques Python For Kids avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Python For Kids ?
Aucune expérience préalable n'est requise. Python For Kids sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 5.
Combien de temps prend la leçon « Décorateurs » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Python For Kids ?
Oui. Chaque leçon Python For Kids inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Décorateurs
- Générateurs
- Gestionnaires de contexte (instructions with)
- Compréhensions (listes, ensembles et dictionnaires)
- Itérateurs et objets itérables