Leçon 1 / 10 — Chapitre 9: Mise en pratique : gestionnaire de tâches
Modéliser une tâche avec une classe
Ce chapitre construit un petit gestionnaire de tâches en ligne de commande, en réutilisant l'essentiel de ce module. Première étape : représenter une tâche avec une @dataclass (vue au troisième chapitre).
from dataclasses import dataclass
@dataclass
class Tache:
titre: str
priorite: int = 2
terminee: bool = False
t = Tache("Ecrire le rapport")
print(t)
Ce code affiche Tache(titre='Ecrire le rapport', priorite=2, terminee=False) : @dataclass génère __init__ et __repr__ automatiquement à partir des attributs déclarés (vu au troisième chapitre), avec des valeurs par défaut pour priorite (2, une priorité moyenne) et terminee (False, une tâche fraîchement créée n'est pas terminée).
priorite utilise une simple convention numérique : 1 pour urgent, 2 pour normal, 3 pour faible — un entier plutôt qu'un texte, plus simple à comparer et à trier (vu au troisième chapitre de Python Intermédiaire).
urgente = Tache("Corriger le bug", priorite=1)
print(urgente.priorite)
Ce code affiche 1 : les arguments nommés (vus au deuxième chapitre de Python Intermédiaire) permettent de préciser priorite sans redonner terminee, qui garde sa valeur par défaut.
À vous de jouer : créez une @dataclass Tache avec titre, priorite et terminee, puis créez deux tâches avec des priorités différentes.
À vous de jouer
À faireQue va afficher ce code ?
from dataclasses import dataclass
@dataclass
class Tache:
titre: str
priorite: int = 2
t = Tache("Test")
print(t.priorite)
Copiez ce code dans un environnement Python en ligne (Google Colab, Replit, ou tout autre) pour vérifier le résultat avant de répondre.
À vous de jouer
À faireQuelle convention numérique ce chapitre utilise-t-il pour priorite : quelle valeur signifie "urgent" ?
Copiez ce code dans un environnement Python en ligne (Google Colab, Replit, ou tout autre) pour vérifier le résultat avant de répondre.