Çünkü \
kaçış dizilerine yalnızca geçerli kaçış dizileri olduklarında başlayın.
>>> '\n'
'\n'
>>> r'\n'
'\\n'
>>> print '\n'
>>> print r'\n'
\n
>>> '\s'
'\\s'
>>> r'\s'
'\\s'
>>> print '\s'
\s
>>> print r'\s'
\s
Bir "r" veya "R" öneki olmadığı sürece , dizelerdeki kaçış dizileri Standart C tarafından kullanılanlara benzer kurallara göre yorumlanır. Tanınan kaçış dizileri şunlardır:
Escape Sequence Meaning Notes
\newline Ignored
\\ Backslash (\)
\' Single quote (')
\" Double quote (")
\a ASCII Bell (BEL)
\b ASCII Backspace (BS)
\f ASCII Formfeed (FF)
\n ASCII Linefeed (LF)
\N{name} Character named name in the Unicode database (Unicode only)
\r ASCII Carriage Return (CR)
\t ASCII Horizontal Tab (TAB)
\uxxxx Character with 16-bit hex value xxxx (Unicode only)
\Uxxxxxxxx Character with 32-bit hex value xxxxxxxx (Unicode only)
\v ASCII Vertical Tab (VT)
\ooo Character with octal value ooo
\xhh Character with hex value hh
Yol değişmezleri için asla ham dizelere güvenmeyin, çünkü ham dizeler, insanları kıçından ısırdığı bilinen oldukça tuhaf iç işleyişe sahiptir:
Bir "r" veya "R" öneki mevcut olduğunda, bir ters eğik çizgiyi takip eden bir karakter dizeye değişiklik yapılmadan eklenir ve tüm ters eğik çizgiler dizede bırakılır. Örneğin, dize değişmezi r"\n"
iki karakterden oluşur: ters eğik çizgi ve küçük harf "n". Dize tırnak işaretleri ters eğik çizgiyle önlenebilir, ancak ters eğik çizgi dizede kalır; örneğin, r"\""
iki karakterden oluşan geçerli bir dizedir: ters eğik çizgi ve çift tırnak;r"\"
geçerli bir dize değişmezi değildir (ham bir dize bile tek sayıda ters eğik çizgi ile bitemez). Spesifik olarak, bir ham dize tek bir ters eğik çizgiyle bitemez (çünkü ters eğik çizgi aşağıdaki tırnak karakterinden kaçacaktır). Ayrıca, tek bir ters eğik çizgiyi takip eden bir satırsonu, bu iki karakterin dizenin parçası olarak yorumlandığını unutmayın,
Bu son noktayı daha iyi açıklamak için:
>>> r'\'
SyntaxError: EOL while scanning string literal
>>> r'\''
"\\'"
>>> '\'
SyntaxError: EOL while scanning string literal
>>> '\''
"'"
>>>
>>> r'\\'
'\\\\'
>>> '\\'
'\\'
>>> print r'\\'
\\
>>> print r'\'
SyntaxError: EOL while scanning string literal
>>> print '\\'
\
'\s'
(gibir'\s'
) aynı zamanda şu şekilde temsil edilir'\\s'
dolayı,'\s'
bilinen bir çıkış sırası olmayan.