Heim > Backend-Entwicklung > Python-Tutorial > Wie unterscheidet sich die Funktion „repr()' von Python von „str()' und warum werden der Ausgabe doppelte Anführungszeichen hinzugefügt?

Wie unterscheidet sich die Funktion „repr()' von Python von „str()' und warum werden der Ausgabe doppelte Anführungszeichen hinzugefügt?

Susan Sarandon
Freigeben: 2024-11-29 10:37:10
Original
584 Leute haben es durchsucht

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

Die Funktion repr( ) in Python verstehen

repr( ) bietet eine auswertbare Zeichenfolgendarstellung eines Objekts in Python. Es gibt eine Zeichenfolge zurück, die mit der Funktion eval( ) ausgewertet werden kann, was zum gleichen Objekt führt.

Fragen und Antworten:

1. Warum werden der Ausgabe von repr(x) doppelte Anführungszeichen hinzugefügt?

repr( ) umfasst die String-Darstellung eines Objekts mit doppelten Anführungszeichen, um ein String-Literal darzustellen, das von eval( ) ausgewertet werden kann. Im Gegensatz dazu fügt str( ) keine Anführungszeichen hinzu, da es die Zeichenfolgendarstellung zurückgibt, ohne sie auszuwerten.

2. Warum gibt eval("'foo'") 'foo' anstelle des Objekts x zurück, das ihm ursprünglich zugewiesen wurde?

eval( ) nimmt einen String als Eingabe und wertet ihn aus. Wenn Sie eval("'foo'") aufrufen, interpretiert es den Inhalt der Zeichenfolge und gibt „foo“ direkt zurück, wobei die Objektzuweisung, die mit x vorgenommen wurde, umgangen wird. Um das Objekt selbst auszuwerten, müssten Sie x als Argument an eval( ) übergeben.

Zusätzliche Erkenntnisse:

  • repr( ) ist nützlich für Bereitstellung einer Zeichenfolgendarstellung, die zur späteren Rekonstruktion des Objekts verwendet werden kann.
  • Die Funktion eval( ) wird normalerweise verwendet, um Code dynamisch auszuführen Laufzeit.
  • str( ) gibt einfach die Zeichenfolgendarstellung eines Objekts zurück, ohne es auszuwerten.
  • Objekte in Python verfügen über magische Methoden wie repr und __str__, die die Zeichenfolge anpassen und Darstellung des Objekts.

Das obige ist der detaillierte Inhalt vonWie unterscheidet sich die Funktion „repr()' von Python von „str()' und warum werden der Ausgabe doppelte Anführungszeichen hinzugefügt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage