Menu
Coddy logo textTech

Méthode constructeur (__init__)

Fait partie de la section Programmation orientée objet du Journey Python de Coddy. Leçon 7 sur 64.

La méthode __init__ est une méthode spéciale qui s’exécute automatiquement lorsque vous créez un nouvel objet. Elle initialise les attributs de l’objet.

Voici un exemple de classe avec un constructeur :

class Dog:
    def __init__(self, name, breed):
        self.name = name
        self.breed = breed

La méthode __init__ accepte des paramètres et les affecte aux attributs de l’instance à l’aide de self.

Créez des objets à l’aide du constructeur :

rex = Dog("Rex", "German Shepherd")
buddy = Dog("Buddy", "Golden Retriever")

Lorsque vous appelez Dog("Rex", "German Shepherd"), Python appelle automatiquement __init__ et transmet les arguments.

Accédez aux attributs qui ont été définis par le constructeur :

print(rex.name)
print(rex.breed)
print(buddy.name)
print(buddy.breed)

Sortie :

Rex
German Shepherd
Buddy
Golden Retriever

Vous pouvez également avoir un constructeur avec des valeurs par défaut :

class Cat:
    def __init__(self, name, age=1):
        self.name = name
        self.age = age

# Créer des chats
fluffy = Cat("Fluffy", 3)
whiskers = Cat("Whiskers")  # age vaut 1 par défaut

print(f"{fluffy.name} is {fluffy.age} years old")
print(f"{whiskers.name} is {whiskers.age} years old")

Sortie :

Fluffy is 3 years old
Whiskers is 1 years old

Point clé : la méthode __init__ garantit que chaque objet est correctement configuré avec ses données initiales lors de sa création. Elle vous évite de devoir définir manuellement les attributs après la création de l’objet.

challenge icon

Défi

Facile

Des fichiers Python (book.py et driver.py) vous sont fournis pour implémenter un système de gestion de livres. Dans ce défi, vous allez définir une classe Book dans un fichier, qui sera importée et utilisée dans un autre.

Votre tâche consiste à :

  • Compléter la classe Book dans book.py avec une méthode __init__ qui initialise les attributs title, author et pages
  • Le fichier driver.py importera et utilisera votre classe Book pour créer un objet livre pour "Harry Potter" by "J.K. Rowling" with 400 pages

Suivez les commentaires TODO détaillés dans book.py .

Essayez vous-même

# TODO: Importez la classe Book depuis book.py
# Utilisez ce format : from book import Book

# TODO: Créez un objet book nommé 'my_book' avec les valeurs suivantes :
# - title: "Harry Potter"
# - author: "J.K. Rowling"
# - pages: 400
# Exemple : my_book = Book("Title", "Author", pages)

# Afficher les détails du livre
# TODO: Assurez-vous que my_book est correctement défini avant que cette ligne ne s'exécute
print(f"'{my_book.title}' by {my_book.author}, {my_book.pages} pages")
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Programmation orientée objet

Entraînez-vous par vous-même : Compilateur Python en ligne