Ich bin nicht in der Lage die folgenden Ergebnisse zu verstehen:wie Schrägstriche in Python arbeiten
>>> a='\'
File "<stdin>", line 1
a='\'
^
SyntaxError: EOL while scanning string literal
>>> a=r'\'
File "<stdin>", line 1
a=r'\'
^
SyntaxError: EOL while scanning string literal
ich verstanden, dass das Präfix ‚r‘ wird die Zeichenfolge roh machen und \
würde als normales Zeichen behandelt werden, weil r'\n'
sind zwei Zeichen und ich habe gerade ein Zeichen daraus entfernt.
>>> a='\\'
>>> a
'\\'
>>> print a
\
>>> repr(a)
"'\\\\'"
Mein Verständnis: a='\\'
Ergebnisse in einer Zeichenkette, die tatsächlich ein einziges \
enthält, während die andere nur verwendet wird, um es zu entkommen. Kann nicht verstehen, warum repr(a)
zu vielen Backslashes führt.
>>> a=r'\\'
>>> a
'\\\\'
>>> print a
\\
>>> repr(a)
"'\\\\\\\\'"
Mein Verständnis: a=r'\\'
ist ein String mit zwei tatsächlichen \
s und von denen jede mit einem \
Präfix wird es als Python-String zu repräsentieren. Kann nicht verstehen, warum einfach schreiben a
auf Interpreter gibt 4 \
s zurück und repr(a)
gibt 8 \
s zurück.