Sobes.tech
Middle

Quelles méthodes magiques existent en Python?

sobes.tech IA

Réponse de l'IA

Les méthodes magiques en Python sont des méthodes spéciales qui commencent et se terminent par un double underscore (par exemple, __init__, __str__). Elles permettent de redéfinir le comportement des opérations intégrées et de s’intégrer à la syntaxe du langage.

Principaux groupes de méthodes magiques :

  • Initialisation et création d’objets : __new__, __init__
  • Représentation de l’objet : __str__, __repr__
  • Opérations arithmétiques : __add__, __sub__, __mul__, __truediv__ et autres.
  • Opérations de comparaison : __eq__, __lt__, __gt__, __le__, __ge__, __ne__
  • Contrôle d’accès aux attributs : __getattr__, __setattr__, __delattr__
  • Itérateurs et générateurs : __iter__, __next__
  • Gestionnaires de contexte : __enter__, __exit__
  • Indexation et tranches : __getitem__, __setitem__, __delitem__
  • Appel de l’objet comme fonction : __call__

Exemple de redéfinition de l’opérateur arithmétique et de la représentation en chaîne :

class Vector:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __add__(self, other):
        return Vector(self.x + other.x, self.y + other.y)

    def __repr__(self):
        return f"Vector({self.x}, {self.y})"

v1 = Vector(1, 2)
v2 = Vector(3, 4)
print(v1 + v2)  # Vector(4, 6)

Les méthodes magiques sont largement utilisées pour implémenter des modèles de conception et étendre les capacités des classes.