Complétons notre classe Vecteur() afin de permettre un joli affichage et d’additionner les vecteurs à l’aide de l’opérateur « + ».
class Vecteur:
def __init__(self,x,y,z):
self.x = x
self.y = y
self.z = z
def __str__(self):
ligne = "("+str(self.x)+","+str(self.y)+","+str(self.z)+")"
return ligne
def __add__(self,other):
W = Vecteur(self.x+other.x,self.y+other.y,self.z+other.z)
return W
- La méthode __str__() (le nom est réservé) renvoie ici un bel affichage du vecteur. Par exemple avec V = Vecteur(1,2,3) alors :
print(V.__str__())
affiche (1,2,3).
Mais ce n’est pas comme cela qu’on l’utilise car une fois que la méthode __str__() est définie alors la commande :
print(V)
affiche aussi (1,2,3). C’est très pratique !
- La méthode __add__() a exactement la même définition que la méthode addition() définie précédemment. Avec V1 = Vecteur(1,2,3) et V2 = Vecteur(1,0,-4) on pourrait l’utiliser par :
V3 = V1.__add__(V2)
Mais comme on a utilisé le nom réservé __add__() alors cela a défini l’opérateur « + » et il est beaucoup plus agréable d’écrire simplement :
V3 = V1 + V2
INGInious