Exercices Fonctions & Modules Mon premier decorateur
🎉

Bravo!

Débutant 🧠 Fondamentaux 10 XP 0 personnes ont réussi

Mon premier decorateur

Un decorateur, c'est une fonction qui prend une autre fonction en paramètre et renvoie une nouvelle fonction qui l'enveloppe. Imagine un cadeau : la fonction originale est le cadeau, et le decorateur est le papier cadeau qui ajoute quelque chose autour.

Voici la structure de base d'un decorateur :

def mon_decorateur(func):
def wrapper(*args, **kwargs):
# quelque chose avant
résultat = func(*args, **kwargs)
# quelque chose apres
return résultat
return wrapper

La syntaxe @ permet d'appliquer un decorateur :
@mon_decorateur
def ma_fonction():
...

C'est equivalent a écrire : ma_fonction = mon_decorateur(ma_fonction)

Écris un decorateur crier qui transforme le résultat d'une fonction en majuscules. La fonction decoree doit renvoyer une chaine, et le decorateur la convertit en majuscules avant de la renvoyer.

Exemple :
@crier
def saluer(nom):
return f'bonjour {nom}'

saluer('alice') renvoie 'BONJOUR ALICE'

Tests (3/4)

Texte en majuscules
@crier
def saluer(nom):
    return f'bonjour {nom}'
assert saluer('alice') == 'BONJOUR ALICE'
Sans argument
@crier
def dire_salut():
    return 'salut'
assert dire_salut() == 'SALUT'
Plusieurs mots
@crier
def phrase():
    return 'le monde est beau'
assert phrase() == 'LE MONDE EST BEAU'

+ 0 tests cachés

Indices (3 disponibles)

solution.py