Maison > développement back-end > Tutoriel Python > En quoi la fonction `repr()` de Python diffère-t-elle de `str()` et pourquoi des guillemets doubles sont-ils ajoutés à sa sortie ?

En quoi la fonction `repr()` de Python diffère-t-elle de `str()` et pourquoi des guillemets doubles sont-ils ajoutés à sa sortie ?

Susan Sarandon
Libérer: 2024-11-29 10:37:10
original
520 Les gens l'ont consulté

How Does Python's `repr()` Function Differ from `str()`, and Why Are Double Quotes Added to its Output?

Comprendre la fonction repr( ) en Python

repr( ) fournit une représentation sous forme de chaîne évaluable d'un objet en Python. Il renvoie une chaîne qui peut être évaluée à l'aide de la fonction eval( ), ce qui donne le même objet.

Questions et réponses :

1. Pourquoi des guillemets doubles sont-ils ajoutés à la sortie de repr(x) ?

repr( ) englobe la représentation sous forme de chaîne d'un objet avec des guillemets doubles pour représenter une chaîne littérale qui peut être évaluée par eval( ). En revanche, str() n'ajoute pas de guillemets car il renvoie la représentation sous forme de chaîne sans l'évaluer.

2. Pourquoi eval("'foo'") renvoie-t-il 'foo' au lieu de l'objet x qui lui a été initialement attribué ?

eval( ) prend une chaîne en entrée et l'évalue. Lorsque vous appelez eval("'foo'"), il interprète le contenu de la chaîne et renvoie directement 'foo', en contournant l'affectation d'objet effectuée avec x. Pour évaluer l'objet lui-même, vous devez passer x comme argument à eval().

Informations supplémentaires :

  • repr( ) est utile pour fournissant une représentation sous forme de chaîne qui peut être utilisée pour reconstruire l'objet ultérieurement.
  • La fonction eval( ) est généralement utilisée pour exécuter du code dynamiquement à runtime.
  • str( ) renvoie simplement la représentation sous forme de chaîne d'un objet sans l'évaluer.
  • Les objets en Python ont des méthodes magiques comme repr et __str__, qui personnalisent la chaîne et représentation de l'objet.

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