Heim >Backend-Entwicklung >Python-Tutorial >Warum werden Backslashes bei der Anzeige von Python-Strings verdoppelt?

Warum werden Backslashes bei der Anzeige von Python-Strings verdoppelt?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-30 15:14:191005Durchsuche

Why are Backslashes Doubled When Displaying Python Strings?

Warum Backslashes zweimal erscheinen

Beim Speichern von Zeichenfolgen mit Backslashes in Python stellen Sie möglicherweise fest, dass diese doppelt angezeigt werden. Dies tritt auf, wenn die Methode __repr__() verwendet wird, um die Darstellung der Zeichenfolge abzurufen. Wenn Sie stattdessen print() verwenden, werden Sie feststellen, dass die Backslashes wie beabsichtigt einfach bleiben:

>>> my_string = "why\does\it\happen?"
>>> my_string
'why\does\it\happen?'

>>> print(my_string)
why\does\it\happen?

Trotz der angezeigten Verdoppelung in der Darstellung enthält die Zeichenfolge selbst nur einzelne Backslashes, wie ihre Länge zeigt :

>>> 'a\b'
'a\b'
>>> len('a\b')
3

Um die Standarddarstellung einer Zeichenfolge abzurufen, verwenden Sie repr() Funktion:

>>> print(repr(my_string))
'why\does\it\happen?'

Python stellt Backslashes wie innerhalb von Strings dar, da der Backslash als Escape-Zeichen fungiert. Beispielsweise bedeutet n eine neue Zeile und t einen Tabulator. Dies kann jedoch zu unbeabsichtigtem Verhalten führen:

>>> print("this\text\is\not\what\it\seems")
this    ext\is
ot\what\it\seems

Um das wörtliche Erscheinungsbild eines Backslashs anzugeben, verdoppeln Sie ihn:

>>> print("this\text\is\what\you\need")
this\text\is\what\you\need

Zusammenfassend lässt sich sagen, dass Python beim Abrufen der Darstellung einer Zeichenfolge maskiert Alle Backslashes aus Sicherheitsgründen. Dennoch enthält die eigentliche Zeichenfolge nur einzelne Backslashes. Weitere Informationen zu den String-Literalen von Python finden Sie in der offiziellen Dokumentation.

Das obige ist der detaillierte Inhalt vonWarum werden Backslashes bei der Anzeige von Python-Strings verdoppelt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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