Doppelte Backslashes in Python-Darstellungen
Wenn Sie in Python eine Zeichenfolge erstellen, die Backslashes enthält, stellen Sie möglicherweise fest, dass diese doppelt angezeigt werden. Dieses Verhalten ergibt sich aus der Methode __repr__(), die zu Debugzwecken eine Darstellung der Zeichenfolge generiert.
Die tatsächliche Zeichenfolge, auf die über die Funktion print() zugegriffen werden kann, enthält jedoch wie vorgesehen einzelne Backslashes:
my_string = "why\does\it\happen?" print(my_string) # Outputs: why\does\it\happen?
Diese Duplizierung ist auf die Rolle von Backslashes als Escape-Zeichen in Python zurückzuführen. Beispielsweise steht n für eine neue Zeile und t für einen Tabulator. Um Mehrdeutigkeiten zu vermeiden, maskiert Python Backslashes, indem es einen zusätzlichen Backslash hinzufügt, was zu .
print("this\text\is\not\what\it\seems") # Outputs strange escapes print("this\text\is\what\you\need") # Preserves the literal backslashes
Wenn der Python-Interpreter die Darstellung einer Zeichenfolge zurückgibt, geht er kein Risiko ein und maskiert alle Backslashes, unabhängig davon, ob sie sonst dazu führen würden irgendwelche Probleme. Der eigentliche String bleibt jedoch bei einzelnen Backslashes intakt.
Ausführlichere Informationen zum Umgang von Python mit String-Literalen finden Sie in der Dokumentation zu String- und Byte-Literalen, die hier verfügbar ist: [String- und Byte-Literale](https ://docs.python.org/3/reference/lexical_analysis.html#string-and-bytes-literals)
Das obige ist der detaillierte Inhalt vonWarum zeigt Python in String-Darstellungen doppelte Backslashes an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!