Tu y verras sûrement plus clair quand tu aborderas la programmation orientée objet.
Mais en réalité, tu as certainement déjà utiliser des méthodes sur un objet, sans te rendre compte du mécanisme de l'attribut self qui se trouvait derrière :
Quand tu fais :
ma_liste.append(une_valeur)
L'appel à la méthode append correspond à :
list.append(ma_liste, une_valeur)
(Ce code est tout à fait valide et fait la même chose !)
Et la définition de la méthode append de la classe list (les types sont des classes) est de cette forme :
1 2 3
|
def append(self, valeur):
.... |
La lien entre ma_liste et self est tout de suite plus visible.
Voilà pourquoi toutes les méthodes prennent self comme premier argument, c'est une variable qui va contenir la référence de l'objet sur lequel tu appliques la méthode.
Note que self n'est pas un mot-clef, c'est juste une variable, mais par convention et par soucis de clarté on lui donne le nom de self.
Partager