Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
__add__ et __mul__
Python te permet de definir ce que font les operateurs + et * sur tes propres objets. __add__ est appele quand tu ecris a + b, et __mul__ quand tu ecris a * b.
C'est tres utile pour les objets mathematiques comme les vecteurs, les matrices ou les fractions.
Une regle importante : ces méthodes doivent retourner un NOUVEL objet, sans modifier les originaux. C'est comme quand tu additionnes 3 + 5 : ni le 3 ni le 5 ne changent, tu obtiens un nouveau nombre 8.
Exemple :
class Fraction: def __init__(self, num, den): self.num = num self.den = den def __add__(self, other): n = self.num * other.den + other.num * self.den d = self.den * other.den return Fraction(n, d)
Crée une classe Vecteur(x, y) avec : __add__ : addition de deux vecteurs (composante par composante) __mul__ : multiplication par un scalaire (nombre) norme() : retourne la norme du vecteur (racine de x au carre + y au carre) __eq__ : egalite composante par composante
Exemple : v = Vecteur(1, 2) + Vecteur(3, 4) donne Vecteur(4, 6) v = Vecteur(2, 3) * 2 donne Vecteur(4, 6) Vecteur(3, 4).norme() renvoie 5.0
Tests (2/4)
Addition
v = Vecteur(1, 2) + Vecteur(3, 4)
assert v.x == 4 and v.y == 6
Multiplication
v = Vecteur(2, 3) * 2
assert v.x == 4 and v.y == 6