+++ title = “Rappels” weight = 1 +++
Note: ceci est surtout un rappel du chapitre 11. N’hésitez pas à vous y reporter si les exemples de code ne vous paraissent pas clairs.
Définition:
class MaClasse:
pass
Instanciation:
>>> instance_1 = MaClasse()
Un attribut est une variable à l’intérieur d’autre chose (par exemple une instance de classe).
La syntaxe consiste en l’instance à gauche et l’attribut à droite après un point:
>>> mon_instance = MaClasse()
# création de l'attribut `x` dans mon_instance:
>>> mon_instance.x = 42
# accès à l'attribut `x` dans mon_instance:
>>> mon_instance.x
42
Une méthode est une fonction définie à l’intérieur d’une classe:
Définition:
class MaClasse:
def ma_méthode(self):
return 42
Les méthodes sont des attributs des instances de classes:
class MaClasse:
def ma_méthode(self):
return 42
>>> ma_méthode()
Erreur
>>> mon_instance = MaClasse()
>>> mon_instance.ma_méthode()
42
self
prend la valeur de l’instance courante quand la méthode est appelée.
class MaClasse:
def affiche_attribut_x(self):
print(self.x)
>>> mon_instance = MaClasse()
>>> mon_instance.x = 42
>>> mon_instance.affiche_attribut_x()
42
On peut aussi créer des attributs dans une méthode:
class MaClasse:
def crée_attribut_x(self):
self.x = 42
def affiche_attribut_x(self):
print(self.x)
>>> mon_instance = MaClasse()
>>> mon_instance.affiche_attribut_x()
# Erreur: `mon_instance` n'a pas d'attribut `x`
>>> mon_instance.crée_attribut_x()
>>> mon_instance.affiche_attribut_x()
42
class MaClasse
def crée_attribut_x(self, valeur_de_x):
self.x = valeur_de_x
def affiche_attribut_x(self);
print(self.x)
>>> mon_instance = MaClasse()
>>> mon_instance.crée_attribut_x(42)
>>> mon_instance.affiche_attribut_x()
42
class MaClasse:
def méthode_1(self):
print("démarrage de la méthode 1")
print("la méthode 1 affiche bonjour")
print("bonjour")
print("fin de la méthode 1")
def méthode_2(self):
print("la méthode 2 appelle la méthode 1")
self.méthode_1()
print("fin de la méthode 2")
>>> mon_instance = MaClasse()
>>> mon_instance.méthode_2()
la méthode 2 appelle la méthode 1
démarrage de la méthode 1
la méthode 1 affiche bonjour
bonjour
fin de la méthode 1
fin de la méthode 2
Un constructeur en Python désigne la méthode nomée __init__
,
quand celle-ci existe.
La méthode __init__
est appelée automatiquement quand la
classe est instanciée:
class MaClasse:
def __init__(self):
self.x = 1
self.y = 2
>>> mon_instance = MaClasse()
>>> mon_instance.x
1
>>> mon_instance.y
2
La méthode __init__
peut avoir des arguments,
dans ce cas, ceux ci doivent être fournis
lors de l’instanciation:
class MaClasse:
def __init__(self, x, y):
self.x = x
self.y = y
>>> mon_instance = MaClasse(3, 4)
>>> mon_instance.x
3
>>> mon_instance.y
4