Toutes les classes ont une fonction appelée __init__(), qui est toujours exécutée lorsque la classe est instanciée, c’est le constructeur ou initiateur. Tous les constructeurs s’appellent  __init__() en python, c’est invariable.

La fonction __init__() dans le cadre des classes est utilisée pour attribuer des valeurs aux attributs de l’objet, ou pour d’autres opérations qui sont nécessaires  lors de la création de l’objet.

Le premier paramètre de cette méthode est le nom « self  » qui fait référence à l’objet lui-même, suivis des valeurs à passer aux attributs. En effet les attributs sont contenus dans l’objet directement mais pas les méthodes. Lorsque tu appelles une méthode, l’ordinateur va la chercher dans la classe et non dans l’objet. Donc si tu veux dans une méthode travailler sur l’objet lui-même, comme c’est le cas ici, tu utiliseras self.

Observe l’exemple de création de classe ci-dessous, puis crée ta propre classe avec ses attributs.

Remarque:

Les fonctions entourées de doubles underscore(__), sont des méthodes spéciales, évite de nommer tes fonctions de cette manière (__nomdeméthode__).

Le nom self est une très forte convention de nommage. Je te déconseille de changer ce nom. Certains programmeurs, qui trouvent qu’écrire self à chaque fois est excessivement long, l’abrègent en une unique lettre sÉvites ce raccourci. Une méthode d’instance travaille avec le paramètre self.