私は以下の結果を理解することができませんでどのように機能するかを理解する:私は接頭辞「R」は生の文字列を行いますと\
はr'\n'
であるため、通常の文字として扱われることを理解バックスラッシュのpython
>>> 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
を2文字と私はそれから1文字を削除しました。
>>> a='\\'
>>> a
'\\'
>>> print a
\
>>> repr(a)
"'\\\\'"
私の理解:他はそれをエスケープするために使用されている間、実際に単一\
を含む文字列でa='\\'
結果。なぜrepr(a)
が非常に多くのバックスラッシュをもたらすのか理解できません。
>>> a=r'\\'
>>> a
'\\\\'
>>> print a
\\
>>> repr(a)
"'\\\\\\\\'"
私の理解:a=r'\\'
は、二つの実際の\
sの文字列であり、その各々は、Python文字列として表現するために\
が付いています。なぜカンフーは、インタープリタにa
を書くだけで、4 \
が返され、repr(a)
が8 \
を返すのか理解しています。