PaliSkill
Python avancé

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

À faire

Que 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

À faire

Quelle 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.

Quitter le module