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!