Python: Décorateurs

Cette documentation fait partie du guide Apprendre Python. Consultez le guide complet ici : Un guide complet sur Python.

👋 Bienvenue sur la documentation de Stackhero !

Stackhero propose une solution cloud Python prête à l'emploi offrant de nombreux avantages, notamment :

  • Déployez votre application en quelques secondes avec un simple git push.
  • Utilisez votre propre nom de domaine et bénéficiez de la configuration automatique des certificats HTTPS pour une sécurité renforcée.
  • Profitez de la tranquillité d'esprit avec des sauvegardes automatiques, des mises à jour en un clic, et une tarification simple, transparente et prévisible.
  • Obtenez des performances optimales et une sécurité robuste grâce à une VM privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il ne faut que 5 minutes pour essayer la solution d'hébergement cloud Python de Stackhero !

Les décorateurs vous permettent d'étendre ou de modifier le comportement des fonctions ou des classes sans changer leur code source. Ils enveloppent une autre fonction et ajoutent des fonctionnalités avant ou après l'exécution de la fonction enveloppée.

def decorator_function(func):
  def wrapper(*args, **kwargs):
    # faire quelque chose avant d'appeler la fonction
    result = func(*args, **kwargs)
    # faire quelque chose après avoir appelé la fonction
    return result
  return wrapper

@decorator_function
def my_function():
  # faire quelque chose

Exemples :

def greet_decorator(func):
  def wrapper(name):
    return "Hello, " + func(name) + "!"
  return wrapper

@greet_decorator
def get_name(name):
  return name

print(get_name("John"))  # Sortie : Hello, John!