Я не могу понять следующие результаты:Понять, как обратные косые работать в питона
>>> 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
я понял, что приставка «г» сделает строку сырой и \
будет рассматриваться как обычный символ, потому что r'\n'
являются два символа, и я просто удалил из него один символ.
>>> a='\\'
>>> a
'\\'
>>> print a
\
>>> repr(a)
"'\\\\'"
Мое понимание: a='\\'
результаты в строку, которая фактически содержит один \
, а другой просто используется, чтобы избежать его. Не могу понять, почему repr(a)
приводит к так много обратных косышек.
>>> a=r'\\'
>>> a
'\\\\'
>>> print a
\\
>>> repr(a)
"'\\\\\\\\'"
Мое понимание: a=r'\\'
это строка с двумя реальными \
с и каждый из которых предваряется с \
, чтобы представить его в виде строки питона. Не могу понять, зачем просто писать a
на переводчиках 4 \
s и repr(a)
возвращает 8 \
s.