PaliSkill
Python avancé

Leçon 1 / 10 — Chapitre 1: POO : les fondamentaux

Créer une classe : class, __init__ et self

Une classe est un modèle pour créer des objets qui regroupent des données et des comportements liés. Un objet (ou instance) est une réalisation concrète de ce modèle.

class Produit:
    def __init__(self, nom, prix):
        self.nom = nom
        self.prix = prix

riz = Produit("riz", 5)
print(riz.nom, riz.prix)

Ce code affiche riz 5. class Produit: définit le modèle. __init__ est une méthode spéciale appelée automatiquement à la création d'un objet — elle initialise ses attributs. self désigne l'objet en train d'être créé : self.nom = nom stocke l'argument nom reçu comme attribut de cet objet précis.

riz = Produit("riz", 5) crée un objet : Python appelle __init__(self, "riz", 5) en interne, self étant automatiquement l'objet riz — on ne le passe jamais explicitement à l'appel.

On peut créer plusieurs objets indépendants à partir de la même classe :

huile = Produit("huile", 8)
print(huile.nom, huile.prix)

riz et huile sont deux objets distincts, chacun avec ses propres valeurs de nom et prix, même s'ils partagent la même classe Produit.

À vous de jouer : créez une classe Produit avec nom et prix, puis créez deux objets différents et affichez leurs attributs.

À vous de jouer

À faire

Que va afficher ce code ?

class Produit:
    def __init__(self, nom, prix):
        self.nom = nom
        self.prix = prix

p = Produit("huile", 8)
print(p.prix)

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

Quel argument Python passe-t-il automatiquement en premier a init lors de la creation d'un objet, sans qu'on l'ecrive à l'appel ?

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.

💡 un mot-clé déjà vu dans la leçon

Quitter le module