Ký tự escape (như \n, \t, \r) có ý nghĩa đặc biệt trong string. Để in ra chính ký tự escape đó (không bị interpret), có 3 cách.
Cách 1: repr() - Biểu diễn chính xác
s = "Hi\nHow are you?\nFine." print(repr(s)) # 'Hi\nHow are you?\nFine.' (có dấu nháy đơn, \n literal)
Cách 2: Raw string (r/R prefix) - Không interpret escape
s = r"Hi\nHow are you?\nFine." print(s) # Hi\nHow are you?\nFine. (in ra đúng chữ \n)
Cách 3: Double escape (\\\\n) - Trong string thường
s = "Hi\\nHow are you?\\nFine." print(s) # Hi\nHow are you?\nFine.
Bảng escape sequences phổ biến
| Escape | Ý nghĩa | In literal |
|---|---|---|
| \n | Newline | \\n hoặc r'\n' |
| \t | Tab | \\t hoặc r'\t' |
| \r | Carriage return | \\r hoặc r'\r' |
| \\ | Backslash | \\\\ hoặc r'\\' |
| \' | Single quote | \' hoặc r"'" |
| \" | Double quote | \" hoặc r'"' |
| \xhh | Hex byte | \\xhh |
| \uhhhh | Unicode 16-bit | \\uhhhh |
| \Uhhhhhhhh | Unicode 32-bit | \\Uhhhhhhhh |
Khi nào dùng cách nào?
repr(): Debug, logging, hiển thị biểu diễn chính xác của object.r"": Regex pattern, Windows path (r"C:\Users\Name"), string chứa nhiều escape.\\: Trong string thường khi chỉ cần escape vài chỗ.
Kết luận
Dùng r"" (raw string) cho regex/path. Dùng repr() để debug xem nội dung thực. Hiểu rõ escape sequence tránh bug lầm tưởng.