Le__repr__ en python

Le__repr__ en python
La méthode __repr __ () de Python donne une représentation textuelle ou à chaîne d'une entité ou d'un objet. Ce processus est appelé chaque fois que la méthode rep () de l'entité est invoquée. Vous pouvez dire que la méthode «rep» et «__repr__» peuvent être utilisées de manière interchangeable dans le même but. Le texte est revenu doit être une phrase python appropriée qui serait coulée pour réassembler l'entité si faisable. Une fonction «__str__» de Python fait de même, mais il y a une légère différence entre les deux fonctions. La méthode __str__ est conçue pour produire une version lisible par l'homme, utile pour suivre ou afficher des informations d'objet. La méthode __repr__, en revanche, est conçue pour fournir une image textuelle «officielle» de l'objet qui peut être utilisé pour le recréer. Nous nous concentrerons sur les deux méthodes d'entité python clés dans notre article aujourd'hui. Faisons un nouveau départ.

Exemple 01

Ouvrez l'outil Python sur votre système, je.e., Nous utilisons Spyder 3 ici. Nous allons d'abord jeter un coup d'œil à la méthode de replat simple. Nous avons commencé notre code en initialisant une variable de chaîne avec une phrase de chaîne comme valeur. La fonction d'impression est utilisée pour imprimer la représentation de chaîne de la valeur «chaîne» variable de la console. Pour cela, nous avons utilisé la méthode «rep» et pris de la corde comme argument. Après cela, nous avons appliqué la fonction «rep» sur certaines expressions mathématiques et essayé de l'imprimer via la même fonction »."Jetons un coup d'œil à la sortie maintenant.

String = 'hy! Je suis John'
print (rep (String))
Imprimer (rep (5.0/11.0))

Dans la sortie indiquée ci-dessous, vous pouvez voir que la méthode Rep montre la représentation de la chaîne à la fois de la valeur de la chaîne et du calcul d'expression mathématique.

Exemple 02

Jetons un coup d'œil plus en profondeur sur les fonctions «rep» et «str» pour effacer la différence entre les deux. Cette fois, nous appliquons ces méthodes de représentation de chaîne sur les fonctions de date et d'heure de Python. Pour obtenir la date et l'heure de notre code, nous avons d'abord importé le module DateTime de Python via le mot-clé «Importer». Nous devons donc utiliser la fonction «maintenant ()» avec la classe DateTime dans le code pour obtenir la date et l'heure actuelles via son package et enregistrer l'horodatage actuel dans la variable «TD». Maintenant, deux fonctions d'impression sont utilisées pour imprimer la date et l'heure actuelles dans un format de chaîne en utilisant la fonction «__str__» et «__repr__» sur l'objet variable «TD.»Le code a été enregistré et est prêt à être exécuté.

Importer DateTime
td = datetime.DateTime.maintenant()
Imprimer (TD.__str __ ())
Imprimer (TD.__Repr __ ())

En exécutant ce code, nous avons deux résultats de chaîne différents. Le premier résultat est généré par la méthode «__str__» et est tout à fait compréhensible. Tandis que l'autre est généré en utilisant la méthode «__repr__» et est assez difficile pour nous de comprendre.

Exemple 03

Ayons un dernier mais non le moindre exemple de cet article. Nous utilisons une classe de test définie par l'utilisateur dans notre code. Cette classe définit et implémente sa fonction de constructeur pour enregistrer le «nom» et le «salaire» en deux variables différentes, v1 et v2. Un objet nommé «Val» est créé pour transmettre les deux valeurs de la variable «Nom» et «Salaire» au constructeur de fonction de test. La création d'un objet «Val» provoque l'exécution automatique du constructeur de la classe de test. La méthode «__str__» et «__repr__» est appelée à l'aide de l'objet «Val» séparément et imprimant les résultats. Les deux fonctions n'ont rien obtenu car l'objet «Val» vient d'être créé et ne l'a pas apprécié. Il pourrait ne pas nous répondre comme nous le voulons. Vérifions.

Test de classe:
Def __init __ (soi, nom, salaire):
soi.v1 = nom
soi.V2 = salaire
Val = test ('John', 50000)
Imprimer (Val.__str __ ())
Imprimer (Val.__Repr __ ())

Ici, la réalisation par défaut des deux fonctions est entière sans usage. Implémentons les deux fonctions maintenant.

Ainsi, après le constructeur de la classe, nous avons mis en œuvre séparément les méthodes «__str__» et «__repr__», renvoyant le format de chaîne d'un texte. Il renvoie également les valeurs attribuées au constructeur au thread d'appel, je.e., l'objet «val». Enregistrons d'abord le code Python nouvellement mis à jour pour voir ses résultats.

Test de classe:
Def __init __ (soi, nom, salaire):
soi.v1 = nom
soi.V2 = salaire
Def __str __ (Self):
return f'user le nom est soi.v1 et son salaire est soi.v2 '
def __repr __ (self):
return f'User (name = self.v1, salaire = self.v2) '
Val = test ('John', 50000)
Imprimer (Val.__str __ ())
Imprimer (Val.__Repr __ ())
Imprimer (Val.__Repr __ ())

La première sortie est causée par la méthode «__str__» et est tout à fait compréhensible. L'autre sortie est compréhensible mais pas autant que la sortie de la fonction «__str__».

Conclusion

Cet article consiste à utiliser la méthode «__repr__» dans le code Python. Nous avons également discuté de la méthode «__str__» utilisée dans cet article pour comparer les différences entre les fonctions. Cela vous ferait également comprendre la méthode «__repr__» plus clairement. Nous espérons avec impatience que cet article sera le meilleur pour nos utilisateurs pour obtenir de l'aide à Python.