Créer un objet simple

Voici un exemple.

Nous allons créer une voiture. Cet objet voiture va posséder des attributs :

  • Une marque

  • Un modèle

  • Une couleur

In [1]:
class Voiture:
    def __init__(self):
        self.marque="Peugeot"
        self.modele="406"
        self.couleur="Rouge"
        
Voiture1=Voiture()
print(Voiture1.modele)
406

Remarques :

  • La méthode __init()__ permet de créer et d'initialiser les attributs de la classe.

  • "self" se traduit par "soi" (de "soi-même"). Il s'agit d'une convention, on pourrait utiliser "soi" ou "machin" mais la lecture du code par tous serait plus difficile.

In [2]:
class Voiture:
    def __init__(soi):
        soi.marque="Peugeot"
        soi.modele="406"
        soi.couleur="Rouge"
        
Voiture1=Voiture()
print(Voiture1.modele)
406

Cela veut-il dire que toutes les voitures seront des "Peugeot" "406" "Rouges" ?

Non, il s'agit simplement d'initialiser les attributs de la classe. Sans rentrer dans les détails, Python permet de modifier simplement les attributs :

In [3]:
class Voiture:
    def __init__(self):
        self.marque="Peugeot"
        self.modele="406"
        self.couleur="Rouge"
        
Voiture1=Voiture()
Voiture1.marque="Renault"
Voiture1.modele="Mégane"
Voiture2=Voiture()
Voiture2.marque="Ford"
Voiture2.modele="Focus"
Voiture2.couleur="Jaune"
print(Voiture2.modele)
Focus

Si je vous demande de créer 10 ou 100 voitures différentes... Quel va être le problème ?

Voici une méthode permettant de modifier les attributs de l'objet dès sa création :

In [4]:
class Voiture:
    def __init__(self, une_marque, un_modele, une_couleur):
        self.marque=une_marque
        self.modele=un_modele
        self.couleur=une_couleur
        
Voiture1=Voiture("Renault", "Mégane", "Rouge")
Voiture2=Voiture("Ford", "Focus", "Jaune")
print(Voiture2.modele)
Focus

A vous de jouer :

Créez votre objet (Une personne, une maison, ....) et ajoutez-lui des attributs.