Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

🐍 Python OOP Cheat Sheet

Une référence rapide pour tout ce que vous avez appris dans la quête Python Basics: Object-Oriented Programming.


1. Classes et Objets

Définir une Classe

class Person:
    def __init__(self, name, age):
        self.name = name      # Attribut public
        self.age = age        # Attribut public

    def greet(self):
        print(f"Hello, my name is {self.name} and I am {self.age} years old.")

Créer un Objet

p1 = Person("John", 30)
p1.greet()   # Hello, my name is John and I am 30 years old.

2. Attributs et Méthodes

  • Attributs = variables appartenant à un objet (self.attribute)
  • Méthodes = fonctions appartenant à un objet (def method(self):)

Accès :

print(p1.name)   # Attribut
p1.greet()       # Méthode

3. Héritage

Héritage de base

class Animal:
    def __init__(self, name):
        self.name = name

    def sound(self):
        print("Some generic sound")

class Dog(Animal):
    def sound(self):
        print("Woof woof!")

dog = Dog("Rex")
dog.sound()  # Woof woof!

4. super()

Appeler le constructeur parent

class Dog(Animal):
    def __init__(self, name, breed):
        super().__init__(name)   # Appelle __init__ de Animal
        self.breed = breed

5. Redéfinition de Méthode

Les classes enfants peuvent remplacer les méthodes parentales :

class Cat(Animal):
    def sound(self):
        print("Meow!")

6. Attributs & Méthodes Privés

Marquer comme privé avec __

class Person:
    def __init__(self, name, age):
        self.name = name
        self.__age = age  # Attribut privé

    def __print_age(self):  # Méthode privée
        print(self.__age)

    def show_info(self):
        print(self.name)
        self.__print_age()

L'accès direct aux membres privés échouera :

p = Person("Alice", 25)
p.__age         # ❌ AttributeError
p._Person__age  # ✅ Fonctionne, mais pas recommandé

7. Termes Clé de la POO

Terme Signification
Classe Plan pour des objets.
Objet Instance d'une classe avec ses propres données.
Attribut Variable dans un objet.
Méthode Fonction dans une classe.
Constructeur Méthode spéciale __init__ appelée lors de la création d'un objet.
Héritage Mécanisme de réutilisation de code d'une autre classe.
Redéfinition Redéfinir une méthode d'une classe parente.
super() Appelle les méthodes de la classe parente.
Privé Préfixé par __ pour indiquer un usage interne seulement.

8. Bonnes Pratiques Rapides

  • Utilisez PascalCase pour les noms de classes : MyClass
  • Utilisez self pour référer à l'objet courant
  • Gardez les méthodes concentrées sur une tâche
  • Utilisez des membres privés pour les détails internes
  • Appelez super().__init__() si vous redéfinissez __init__ dans une classe enfant
  • Privilégiez la composition ou l'héritage avec discernement — ne faites pas hériter juste pour le plaisir

📌 Rappelez-vous : La POO consiste à penser en noms (choses) et leurs comportements. Modélisez des concepts réels, gardez le code organisé, et réutilisez quand c’est possible.