Une voiture vide, ça ne sert à rien. On veut lui donner une couleur, une marque...
La méthode __init__
C'est une fonction spéciale (un "Constructeur") qui est appelée AUTOMATIQUEMENT quand tu crées un objet.
class Voiture:
def __init__(self, marque, couleur):
self.marque = marque # Attribut : Marque de CETTE voiture (self)
self.couleur = couleur # Attribut : Couleur de CETTE voiture
# Création
v1 = Voiture("Peugeot", "Rouge")
v2 = Voiture("Ferrari", "Jaune")
print(v1.marque) # Peugeot
print(v2.marque) # Ferrari
C'est quoi ce self ?
self représente l'objet lui-même.
Quand tu dis self.couleur = "Rouge", tu dis "La couleur de CET objet est Rouge".
C'est obligatoire comme premier argument de toutes les méthodes d'instance.