Les classes en Python

Article publié le vendredi 16 février 2024 et mis à jour le mercredi 3 avril 2024.

Les classes en Python

Comment fonctionnent les classes en Python ? C’est quoi la programmation orientée objet ? Comment faire ses classes ? Pourquoi préférer cette structure ?

Une classe permet définir la structure et le comportement d’objets. Elle regroupe des attributs (variables) et des méthodes (fonctions) pour créer des instances de cet objet. Les classes rendent le code réutilisable et permet de représenter des objets réels avec la programmation orientée objet.

Explication video YouTube du concept de classe :

La programmation orientée objet (POO) peut sembler complexe au premier abord, mais elle offre une approche puissante et modulaire pour structurer le code.

Dans cet article, on voit les bases des classes en Python, en mettant l’accent sur la création d’objets et d’instances.

C’est quoi une classe en Python ?

Les classes en Python regroupent des données et des fonctions dans une structure facile à réutiliser, agissant comme un moule ou un modèle pour créer des versions spécifiques d’un objet. En programmation, le terme “objet” est souvent utilisé en référence à une classe.

La Programmation Orientée Objet (POO)

La POO repose sur le concept de classes, qui jouent un rôle central dans la structuration du code. L’utilisation de classes dans votre code est essentielle pour adopter pleinement la programmation orientée objet.

Si vous avez utilisé des . sur des objets comme les strings avec des méthodes comme .append ou .remove par exemple, vous vous êtes déjà servi la POs.

Création de Votre Propre Classe

Imaginons qu’on veuille créer un modèle pour fabriquer des voitures Cybertrucks de Tesla. Pour ca, on va créer une classe nommée “Cybertruck” selon la convention de nommage PascalCase.

Le PascalCase est une manière d’écrire des noms de variable. On va écrire la premiere lettre de chaque mot en Majuscule et coller tous les mots. Par exemple : MaVoiture, MaSuperClasse, CommentCoderCom. Vous pouvez en apprendre plus sur les conventions de nommage avec mon article sur le sujet.

class Cybertruck:
    marque = "Tesla"
    modele = "Cybertruck"
    annee = 2023

Comment ajouter des fonctionnalités a nos classes grace aux Méthodes

Pour rendre notre Cybertruck plus interactif, nous ajoutons la capacité de klaxonner en créant une méthode de classe appelée klaxonner.

def klaxonner(self):
    print("tut tut")

Maintenant, en utilisant notre instance de Cybertruck, nous pouvons déclencher le klaxon avec la syntaxe cybertruck.klaxonner.

Comment modifier des attributs dynamiquement ?

La flexibilité des classes permet de modifier dynamiquement les attributs après l’instanciation.

Par exemple, changer l’année de fabrication d’un Cybertruck de 2023 à 2024 se fait simplement en utilisant cybertruck.annee = 2024.

Utilisation d’un Constructeur pour la Modularité

Pour créer différents types de voitures de manière modulaire, on utilise un constructeur. Donc changeons notre classe de “Cybertruck” à “Voiture” et on va ajouter un constructeur (__init__) pour initialiser les attributs de manière flexible.

class Voiture:
    def __init__(self, marque, modele, annee):
        self.marque = marque
        self.modele = modele
        self.annee = annee

Comment créer des instances de classes avec des paramètres personnalisés ?

Désormais, nous pouvons créer des instances de la classe “Voiture” avec des paramètres personnalisés, offrant ainsi une approche plus générique pour créer différents types de voitures.

cybertruck = Voiture(marque="Tesla", modele="Cybertruck", annee=2023)
corolla = Voiture(marque="Toyota", modele="Corolla", annee=2022)

Aller plus loin la programmation orientée objet !

En comprenant les bases des classes en Python, vous êtes mieux équipé pour explorer d’autres concepts de la programmation orientée objet.

Les classes offrent une manière structurée et puissante d’organiser votre code, facilitant la réutilisation et la modularité.

N’hésitez pas à aller plus loin dans la POO avec Python !

Comment Coder

Je m'appelle Thomas. J'ai commencé à coder dans mon enfance. Depuis ma sortie de la première promo de l'École 42, j'ai développé des centaines d'applications et sites web. Sur ce blog, je vous donne les meilleurs conseils et astuces pour apprendre comment apprendre à coder efficacement.