Exercice 30 / 100

Classes - bases

Crée une classe `Etudiant` avec `nom` et `note`. Ajoute une méthode `mention()` : 'TB' si note>=16, 'B' si >=14, 'AB' si >=12, sinon 'Passable'. Teste avec Etudiant('Alice', 16) et Etudiant('Bob', 11)

Une classe est un modèle pour créer des objets qui ont leurs propres données (attributs) et comportements (méthodes). C'est la base de la poo (Programmation Orientée Objet).

Syntaxe minimale

class NomDeLaClasse: def __init__(self, parametres): self.attribut = valeur
def methode(self): # utiliser self.attribut return ...

Les 3 mots-clés à comprendre

class
déclare la classe (le "plan"). Par convention, nom en CamelCase.
__init__
méthode spéciale appelée automatiquement à la création d'un objet. C'est là qu'on initialise les attributs.
self
référence à l'objet en cours. Premier paramètre obligatoire de chaque méthode.

self n'est pas un mot-clé, c'est une convention. Tu pourrais l'appeler autrement, mais NE LE fais pas : tout le monde utilise self.

Créer une instance

Une instance = un objet créé à partir de la classe.

e1 = Etudiant('Alice', 16) # appelle __init__ avec nom='Alice', note=16 print(e1.nom) # Alice (accès à un attribut) print(e1.mention()) # TB (appel d'une méthode)

À l'appel, on NE passe pas self : Python l'ajoute automatiquement.

Exemple complet

class Etudiant: def __init__(self, nom, note): self.nom = nom self.note = note
def mention(self): if self.note >= 16: return 'TB' elif self.note >= 14: return 'B' elif self.note >= 12: return 'AB' else: return 'Passable'
e1 = Etudiant('Alice', 16) e2 = Etudiant('Bob', 11) print(f'{e1.nom}: {e1.mention()}') # Alice: TB print(f'{e2.nom}: {e2.mention()}') # Bob: Passable

e1 et e2 sont 2 objets distincts avec leurs propres attributs. Modifier e1.note ne change pas e2.note.

Une classe est un modèle : chaque instance créée à partir d'elle a ses propres attributs, et modifier l'une ne change rien à l'autre
exercise.py

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →