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