0Pricing
Python Academy · Leçon

Classes et méthode __init__

Définissez des classes, créez des objets et initialisez leurs attributs.

Classes et méthode __init__ est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.

Définir une classe

Utilisez le mot-clé class pour définir une classe. Par convention, les noms de classe utilisent CapWords.

class Dog:
    pass

fido = Dog()
print(type(fido))  # <class '__main__.Dog'>

La méthode __init__

__init__ est appelée automatiquement lorsqu’un objet est créé. Utilisez-la pour configurer les attributs d’instance.

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

fido = Dog("Fido", "Labrador")
print(fido.name)   # Fido

Explication de self

self désigne l’instance actuelle. Il doit être le premier paramètre de chaque méthode d’instance. Python le transmet automatiquement.

class Counter:
    def __init__(self):
        self.count = 0

    def increment(self):
        self.count += 1

c = Counter()
c.increment()
print(c.count)  # 1

Plusieurs instances

Chaque instance possède sa propre copie des attributs d’instance définis dans __init__.

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

p1 = Point(1, 2)
p2 = Point(5, 7)
print(p1.x, p2.x)  # 1 5

Valeurs de paramètre par défaut dans __init__

Attribuez des valeurs par défaut aux paramètres de __init__ afin de rendre certains arguments facultatifs.

class Circle:
    def __init__(self, radius=1.0):
        self.radius = radius

c1 = Circle()
c2 = Circle(5)
print(c1.radius, c2.radius)  # 1.0 5

Méthodes d’instance

Les méthodes définies à l’intérieur d’une classe agissent sur l’instance par l’intermédiaire de self.

class Rectangle:
    def __init__(self, w, h):
        self.w = w
        self.h = h

    def area(self):
        return self.w * self.h

r = Rectangle(4, 5)
print(r.area())  # 20

Ajouter des attributs après la création

Vous pouvez ajouter des attributs à une instance après sa création, mais il est plus propre de tous les déclarer dans __init__.

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

p = Person("Alice")
p.age = 30      # added after creation
print(p.name, p.age)

Valeur de retour de __init__

__init__ doit renvoyer None. Renvoyer une autre valeur déclenche une TypeError.

class Broken:
    def __init__(self):
        return 42   # TypeError!

# Correct
class OK:
    def __init__(self):
        self.value = 42
        # implicit return None

Vérifier le type d’une instance

Utilisez isinstance() pour vérifier qu’un objet est une instance d’une classe.

class Animal:
    pass

class Dog(Animal):
    pass

d = Dog()
print(isinstance(d, Dog))     # True
print(isinstance(d, Animal))  # True

Attribut __dict__

Chaque instance stocke ses attributs dans un dictionnaire __dict__.

class Book:
    def __init__(self, title, pages):
        self.title = title
        self.pages = pages

b = Book("Python 101", 300)
print(b.__dict__)  # {'title': 'Python 101', 'pages': 300}

Supprimer des attributs

Utilisez del pour supprimer un attribut d’une instance pendant l’exécution.

class Config:
    def __init__(self):
        self.debug = True
        self.version = "1.0"

cfg = Config()
del cfg.debug
print(hasattr(cfg, "debug"))  # False

Vérification rapide

Quel est le rôle de self dans les méthodes de classe Python ?

Récapitulatif

Les classes sont des modèles pour les objets. __init__ initialise les attributs d’instance, self désigne l’objet actuel et chaque instance conserve son propre dictionnaire d’attributs.

Questions Fréquemment Posées

La leçon « Classes et méthode __init__ » est-elle gratuite ?

Oui — le texte complet de « Classes et méthode __init__ » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Classes et méthode __init__ » ?

Définissez des classes, créez des objets et initialisez leurs attributs. Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Python Academy ?

Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Classes et méthode __init__ » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?

Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Classes et méthode __init__
  2. Attributs d’instance et de classe
  3. Méthodes d’instance et self
  4. Méthodes magiques : __str__ et __repr__
← Retour à Python Academy