Vì chỉ \
bắt đầu trình tự thoát khi chúng là trình tự thoát hợp lệ.
>>> '\n'
'\n'
>>> r'\n'
'\\n'
>>> print '\n'
>>> print r'\n'
\n
>>> '\s'
'\\s'
>>> r'\s'
'\\s'
>>> print '\s'
\s
>>> print r'\s'
\s
Trừ khi có tiền tố 'r' hoặc 'R', chuỗi thoát trong chuỗi được diễn giải theo các quy tắc tương tự như các quy tắc được sử dụng bởi Tiêu chuẩn C. Các chuỗi thoát được công nhận là:
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
Đừng bao giờ dựa vào các chuỗi thô cho các ký tự đường dẫn, vì các chuỗi thô có một số hoạt động bên trong khá đặc biệt , được biết là đã cắn người vào mông:
Khi có tiền tố "r" hoặc "R", một ký tự theo sau dấu gạch chéo ngược được bao gồm trong chuỗi mà không thay đổi và tất cả các dấu gạch chéo ngược được để lại trong chuỗi. Ví dụ: chuỗi ký tự r"\n"
bao gồm hai ký tự: dấu gạch chéo ngược và chữ thường "n". Dấu ngoặc kép của chuỗi có thể được thoát bằng dấu gạch chéo ngược, nhưng dấu gạch chéo ngược vẫn còn trong chuỗi; ví dụ, r"\""
là một chuỗi ký tự hợp lệ bao gồm hai ký tự: dấu gạch chéo ngược và dấu ngoặc kép; r"\"
không phải là một chuỗi hợp lệ theo nghĩa đen (ngay cả một chuỗi thô không thể kết thúc bằng một số lẻ dấu gạch chéo ngược). Cụ thể, một chuỗi thô không thể kết thúc bằng một dấu gạch chéo ngược (vì dấu gạch chéo ngược sẽ thoát khỏi ký tự trích dẫn sau). Cũng lưu ý rằng một dấu gạch chéo ngược đơn theo sau bởi một dòng mới được hiểu là hai ký tự đó là một phần của chuỗi,
Để minh họa rõ hơn điểm cuối cùng này:
>>> 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'
(liker'\s'
) cũng được biểu thị là'\\s'
, do'\s'
không phải là một chuỗi thoát được công nhận.