Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Décorateurs de journalisation et de chronométrage | Maîtriser les Décorateurs Python
Techniques Python Intermédiaires
Section 4. Chapitre 8
single

single

Défi : Décorateurs de journalisation et de chronométrage

Glissez pour afficher le menu

Tâche

Glissez pour commencer à coder

  • Ajouter @functools.wraps(func) au-dessus de chaque fonction wrapper.
  • Dans log_calls, compléter log_message pour afficher le nom de la fonction, les arguments positionnels et les arguments nommés.
  • Dans time_execution, avant d'appeler la fonction, enregistrer l'heure de début avec time.time().
  • Après l'appel de la fonction, enregistrer l'heure de fin.
  • Calculer et afficher le temps d'exécution.
  • Afficher à la fois les messages de journalisation et de chronométrage.
  • Ordre des décorateurs : log_calls à l'extérieur, time_execution à l'intérieur.

Résultat attendu :

Lorsque vous appelez multiply(5, 7), la sortie doit ressembler à :

Calling function 'multiply' with args=(5, 7), kwargs={}
Function 'multiply' executed in X.XXXXXX seconds
35

X.XXXXXX correspond au temps d'exécution formaté sur six décimales. La fonction doit retourner 35.

Solution

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 8
single

single

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

some-alt