Maison > développement back-end > Tutoriel Python > Comment fonctionne la fonction « repr() » de Python et pourquoi les chaînes sont-elles doublement citées dans sa sortie ?

Comment fonctionne la fonction « repr() » de Python et pourquoi les chaînes sont-elles doublement citées dans sa sortie ?

Linda Hamilton
Libérer: 2024-12-01 00:25:11
original
838 Les gens l'ont consulté

How Does Python's `repr()` Function Work, and Why Are Strings Double-Quoted in Its Output?

Comprendre la fonction repr( ) en Python

La fonction repr( ) de Python renvoie une représentation sous forme de chaîne évaluable d'un objet. Cela signifie que la chaîne peut être utilisée pour recréer le même objet en utilisant eval( ).

Pourquoi des guillemets doubles lors de l'utilisation de repr( ) sur des chaînes ?

Quand repr( ) est appliqué à une chaîne, il entoure la chaîne de guillemets doubles. Cela permet de distinguer la chaîne des autres types d'objets, tels que les entiers ou les listes.

Pourquoi eval("'foo'") renvoie 'foo' au lieu de x ?

Lorsque eval() est appelé avec une chaîne, il interprète la chaîne comme une expression Python. Si la chaîne contient une expression valide, elle l'évalue et renvoie le résultat. Dans le cas de eval("'foo'"), l'expression est une chaîne littérale, elle est donc évaluée comme la même chaîne. D'un autre côté, x est une variable qui fait référence à la chaîne « foo ». Lorsque eval() est appelé avec x, il tente d'évaluer x en tant qu'expression Python, ce qui échoue car x n'est pas une expression valide.

La méthode __repr__()

repr() appelle en fait la méthode __repr__() de l'objet. Cette méthode renvoie la représentation sous forme de chaîne évaluable de l'objet.

str( ) vs. repr( )

Contrairement à repr( ), str( ) renvoie une chaîne représentation de l’objet susceptible d’être exposée. Il n'entoure pas les chaînes de guillemets doubles et ne contient aucun caractère spécial pour indiquer que la chaîne est destinée à être évaluée.

Résumé :

  • repr ( ) renvoie une représentation sous forme de chaîne évaluable d'un objet.
  • repr( ) entoure les chaînes de guillemets doubles pour les distinguer des autres types d'objets.
  • eval( ) interprète une chaîne comme une expression Python et l'exécute.
  • Les objets qui étendent les types intégrés peuvent fournir des implémentations personnalisées de __repr__() et __str__().
  • repr( ) est utile pour le débogage et l'introspection, tandis que str( ) convient aux utilisateurs. sortie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal