Classes et objets Python : bases de la programmation orientée objet

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Programmation orientée objet en Python

La programmation orientée objet (POO) est l'un des paradigmes les plus importants du développement moderne. Python prend en charge la POO à tous les niveaux, ce qui en fait un outil puissant aussi bien pour les développeurs débutants que pour les programmeurs professionnels.

La POO permet de modéliser le monde réel, d'améliorer la lisibilité du code, de réutiliser des composants et de gérer la complexité des projets. Les concepts clés de la programmation orientée objet sont les classes et les objets, ainsi que les principes fondamentaux : héritage, encapsulation et polymorphisme.

Cette approche structure le programme comme un ensemble d'objets interagissant entre eux, chacun étant une instance d'une classe spécifique. Cela rend le code plus modulaire, compréhensible et facile à maintenir.

Les bases des classes et objets en Python

Définition d'une classe et d'un objet

Une classe est un modèle ou un plan pour créer des objets. Elle définit la structure des données et les méthodes qui seront disponibles pour tous les objets de ce type.

Un objet est une instance concrète d'une classe, qui possède ses propres données et peut exécuter les actions définies dans la classe.

class Voiture:
    def conduire(self):
        print("La voiture roule")

ma_voiture = Voiture()  # objet (instance de la classe)
ma_voiture.conduire()

Dans le code ci-dessus, la classe Voiture définit un modèle pour créer des objets voiture. La méthode conduire() décrit le comportement accessible à toutes les instances de cette classe.

Structure d'une classe en Python

La structure de base d'une classe en Python est la suivante :

class NomDeClasse:
    def __init__(self, arguments):
        self.proprietes = valeurs
    
    def methode(self):
        actions

Les composants importants d'une classe incluent :

  • init — le constructeur de la classe, appelé automatiquement lors de la création d'un nouvel objet
  • self — un paramètre spécial qui représente une référence à l'instance actuelle de l'objet
  • Attributs — des variables qui stockent les données de l'objet
  • Méthodes — des fonctions définies à l'intérieur de la classe et liées à l'objet

Création et utilisation des classes

Exemple pratique de création d'une classe

Créons une classe Personne qui modélise une personne :

class Personne:
    def __init__(self, nom, age):
        self.nom = nom
        self.age = age
    
    def saluer(self):
        print(f"Bonjour, je m'appelle {self.nom}")
    
    def get_infos(self):
        return f"Nom : {self.nom}, Âge : {self.age}"

p = Personne("Anna", 30)
p.saluer()
print(p.get_infos())

Dans cet exemple, le constructeur init prend les paramètres nom et age, qui sont stockés comme attributs de l'instance. Les méthodes saluer() et get_infos() fournissent des fonctionnalités pour travailler avec les données de l'objet.

Création d'instances de classe

Le processus de création d'une instance de classe en Python se fait en appelant la classe comme une fonction :

p1 = Personne("Jean", 25)
p2 = Personne("Marie", 28)

print(p1.nom)  # Jean
print(p1.age)  # 25
print(p2.nom)  # Marie

Chaque appel au constructeur de la classe crée un nouvel objet indépendant avec ses propres attributs et son propre état.

Attributs dans les classes Python

Attributs d'instance

Les attributs d'instance sont uniques à chaque objet. Ils sont créés et initialisés dans la méthode init et peuvent être modifiés pendant l'exécution du programme :

class Etudiant:
    def __init__(self, nom, note):
        self.nom = nom
        self.note = note
    
    def mettre_a_jour_note(self, nouvelle_note):

Blogs

Book Recommendations