Voici un exemple.
Nous allons créer une voiture. Cet objet voiture va posséder des attributs :
Une marque
Un modèle
Une couleur
class Voiture:
def __init__(self):
self.marque="Peugeot"
self.modele="406"
self.couleur="Rouge"
Voiture1=Voiture()
print(Voiture1.modele)
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.
class Voiture:
def __init__(soi):
soi.marque="Peugeot"
soi.modele="406"
soi.couleur="Rouge"
Voiture1=Voiture()
print(Voiture1.modele)
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 :
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)
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 :
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)
Créez votre objet (Une personne, une maison, ....) et ajoutez-lui des attributs.