Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Exemples Pratiques d'Utilisation des Décorateurs | Décorateurs
Techniques Python Intermédiaires
course content

Contenu du cours

Techniques Python Intermédiaires

Techniques Python Intermédiaires

1. Emballage et Déballage
2. Arguments dans les Fonctions
3. Fonction Comme Argument
4. Portée des Variables
5. Décorateurs

book
Exemples Pratiques d'Utilisation des Décorateurs

Les décorateurs en Python sont un outil puissant pour modifier le comportement des fonctions ou des méthodes. Les usages les plus courants sont la mise en veille, la validation du temps et la journalisation.

1. Décorateur de Mise en Veille

Ce décorateur fera attendre la fonction pendant un certain temps spécifié avant de s'exécuter.

1234567891011121314151617
import time def sleep_decorator(seconds): def decorator(func): def wrapper(*args, **kwargs): print(f"Sleeping for {seconds} seconds before executing '{func.__name__}'") time.sleep(seconds) return func(*args, **kwargs) return wrapper return decorator @sleep_decorator(2) def my_function(): print("Function executed!") # Usage my_function()
copy

2. Décorateur de Validation

Ce décorateur vérifie si les entrées d'une fonction répondent à certains critères.

1234567891011121314151617
def validate_decorator(func): def wrapper(number): if not isinstance(number, int) or number < 0: raise ValueError("Input must be a non-negative integer") return func(number) return wrapper @validate_decorator def factorial(n): if n == 0: return 1 else: return n * factorial(n - 1) # Usage print(factorial(5)) # factorial(-1) # This will raise an error
copy

3. Décorateur de Chronométrage

Ce décorateur mesure le temps d'exécution d'une fonction. Nous l'avons déjà utilisé dans le chapitre précédent.

12345678910111213141516171819
import time def timing_decorator(func): def wrapper(*args, **kwargs): start_time = time.time() result = func(*args, **kwargs) end_time = time.time() print(f"'{func.__name__}' executed in {end_time - start_time} seconds") return result return wrapper @timing_decorator def some_function(): time.sleep(1) # Simulating a task print("Function completed") # Usage some_function()
copy

Le décorateur pour la vérification de connexion utilise des bibliothèques supplémentaires et est utilisé dans le développement de sites web, il est donc plus approprié de considérer ce décorateur dans le contexte de la création de sites web.

Comme nous l'avons dit, les décorateurs sont un sujet complexe en Python et nécessitent parfois plus de pratique pour bien comprendre ce sujet. Vous êtes sur la bonne voie pour développer un esprit de programmeur.

Téléchargez les notes sur le cours. 😉

1. Quel sera le résultat du code suivant ?

2. Quel sera le résultat du code suivant ?

Quel sera le résultat du code suivant ?

Quel sera le résultat du code suivant ?

Sélectionnez la réponse correcte

Quel sera le résultat du code suivant ?

Quel sera le résultat du code suivant ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 5. Chapitre 7
We're sorry to hear that something went wrong. What happened?
some-alt