Avancé
🧠 Fondamentaux
30 XP
0 personnes ont réussi
Context manager maison
Les context managers (le mot-clé with) garantissent qu'une ressource est correctement libérée, même si une erreur survient. Tu les utilises déjà avec open() pour les fichiers. Savoir en créer un toi-même, c'est un vrai saut de niveau en Python.
Ta classe doit définir __enter__() (appelée au début du with, retourne l'objet) et __exit__() (appelée à la fin, même en cas d'erreur). time.time() donne l'heure en secondes.
Écris une classe Timer utilisable comme context manager. L'attribut elapsed doit contenir le temps écoulé en secondes après la fin du bloc with.
Exemple : with Timer() as t: faire_quelque_chose() print(t.elapsed) en secondes
Tests (2/4)
Timer fonctionne
import time
with Timer() as t:
pass
assert isinstance(t.elapsed, float)
assert t.elapsed >= 0
Timer mesure
import time
with Timer() as t:
time.sleep(0.01)
assert t.elapsed >= 0.005