OBJETS / 03 · EXPLICATION
self désigne l’objet de l’appel
Une méthode d’instance reçoit l’objet concerné dans son premier paramètre, nommé self par convention.
c1.add(5) lie automatiquement self à c1. L’argument 5 est transmis à x : il n’est pas nécessaire d’écrire c1.add(c1, 5).
Exemple expliqué
- 1
def add(self, x): self.memoire += xCe bloc est une méthode à placer dans la classe. self.memoire désigne la mémoire de l’instance reçue ; x est l’argument à ajouter.
- 2
c1.add(5) # équivaut ici à Calculatrice.add(c1, 5)La notation pointée fournit le premier argument. Avec c2.add(5), self désignerait c2 et la même méthode agirait sur un autre état.
- 3
memoire = 10 self.memoire = 10Dans une méthode, memoire est un nom local ; self.memoire est un attribut de l’objet. Le second est conservé et accessible après la fin de l’appel.
CLASSE · Calculatrice
__init__(self, memoire_initiale)
add(self, x)Calculatrice(10) ↙ ↘ Calculatrice(20)
memoire 10
self dans c1.add(5)memoire 20
autre instancec1.add(5) → self = c1 ; x = 5
La définition est commune ; les attributs d’instance sont propres à chaque objet.
Points essentiels
- self n’est pas un mot-clé : son nom est une convention standard à respecter.
- Il désigne l’instance courante, pas la classe entière ni une copie de l’objet.
- self.attribut lit ou modifie une donnée de cette instance.
- self.autre_methode() appelle une autre méthode sur cette même instance.