Méthode Python __repr__

Vaibhhav Khetarpal 14 avril 2022
Méthode Python __repr__

Cet article présente la méthode __repr__ en Python.

La méthode __repr__ est une méthode spéciale utilisée à l’intérieur d’une classe qui représente un objet d’une classe sous la forme d’une chaîne. La fonction intégrée repr() est utilisée pour appeler la méthode __repr__.

La méthode __repr__ peut simplement être utilisée pour produire et définir votre propre représentation sous forme de chaîne des objets d’une classe. Cette méthode est principalement utilisée pour le débogage en Python.

La syntaxe de la méthode __repr__ est la suivante :

object.__repr__(self)

Nous utilisons ici le mot-clé self car la méthode __repr__ est une méthode spéciale utilisée dans l’enrichissement des classes, et le mot-clé self représente l’instance de la classe impliquée.

Les développeurs ont tendance à privilégier généralement la méthode __repr__ car elle est sans ambiguïté, tandis que les utilisateurs finaux utilisent la méthode __str__ car elle est plus facile à lire et à comprendre.

Cette méthode peut simplement être appelée par la fonction intégrée repr(). Voici un exemple de code qui aidera à clarifier les choses.

class Employee:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        rep = "Employee(" + self.name + "," + str(self.age) + ")"
        return rep


emp = Employee("Archie", 19)
print(repr(emp))

Le code ci-dessus fournit la sortie suivante :

Employee(Archie,19)

Comme vous pouvez le voir, la fonction repr() prend en un seul paramètre, l’objet de la classe.

La fonction repr() ne fournit généralement que la représentation sous forme de chaîne en temps réel d’un objet de la classe, mais elle peut être remplacée à l’aide de la méthode __repr__ pour la faire fonctionner différemment d’une manière que l’utilisateur souhaite.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Article connexe - Python Object