Một escape character là một ký tự được theo sau bởi một dấu gạch chéo ngược (\). Nó cho biết Interpreter rằng chuỗi ký tự thoát này (sequence) có một ý nghĩa đặc biệt. Ví dụ, \n là một chuỗi ký tự thoát đại diện cho một dòng mới. Khi Python gặp chuỗi này trong một chuỗi văn bản, nó hiểu rằng nó cần bắt đầu một dòng mới.
Trừ khi có tiền tố 'r' hoặc 'R', các chuỗi thoát trong chuỗi và byte literals được diễn giải theo các quy tắc tương tự như những quy tắc được sử dụng bởi Standard C. Trong Python, một string trở thành một chuỗi thô nếu nó được thêm tiền tố "r" hoặc "R" trước các ký hiệu ngoặc kép. Do đó, 'Hello' là một chuỗi bình thường trong khi r'Hello' là một chuỗi thô.
Trong ví dụ dưới đây, chúng tôi đang thực hiện việc minh họa chuỗi thô và chuỗi bình thường.
# normal string normal = "Hello" print (normal) # raw string raw = r"Hello" print (raw)
Đầu ra của đoạn mã trên được hiển thị dưới đây −
Hello Hello
Trong các trường hợp bình thường, không có sự khác biệt giữa hai loại. Tuy nhiên, khi ký tự thoát được nhúng trong chuỗi, chuỗi bình thường thực sự giải thích chuỗi thoát, trong khi chuỗi thô không xử lý ký tự thoát.
Trong ví dụ sau, khi một chuỗi bình thường được in ra, ký tự escape '\n' được xử lý để tạo ra một dòng mới. Tuy nhiên, vì có toán tử chuỗi thô 'r', hiệu ứng của ký tự escape không được dịch theo nghĩa của nó.
normal = "Hello\nWorld" print (normal) raw = r"Hello\nWorld" print (raw)
Khi chạy đoạn mã trên, nó sẽ in ra kết quả sau −
Hello World Hello\nWorld
Bảng dưới đây cho thấy các ký tự thoát khác nhau được sử dụng trong Python -
Sr.No | Escape Sequence & Meaning |
---|---|
1 | \<newline> Backslash and newline ignored |
2 | \\ Backslash (\) |
3 | \' Single quote (') |
4 | \" Double quote (") |
5 | \a ASCII Bell (BEL) |
6 | \b ASCII Backspace (BS) |
7 | \f ASCII Formfeed (FF) |
8 | \n ASCII Linefeed (LF) |
9 | \r ASCII Carriage Return (CR) |
10 | \t ASCII Horizontal Tab (TAB) |
11 | \v ASCII Vertical Tab (VT) |
12 | \ooo Character with octal value ooo |
13 | \xhh Character with hex value hh |
Đoạn mã sau đây cho thấy cách sử dụng các chuỗi thoát được liệt kê trong bảng ở trên −
# ignore \ s = 'This string will not include \ backslashes or newline characters.' print (s) # escape backslash s=s = 'The \\character is called backslash' print (s) # escape single quote s='Hello \'Python\'' print (s) # escape double quote s="Hello \"Python\"" print (s) # escape \b to generate ASCII backspace s='Hel\blo' print (s) # ASCII Bell character s='Hello\a' print (s) # newline s='Hello\nPython' print (s) # Horizontal tab s='Hello\tPython' print (s) # form feed s= "hello\fworld" print (s) # Octal notation s="\101" print(s) # Hexadecimal notation s="\x41" print (s)
Nó sẽ tạo ra output −
This string will not include backslashes or newline characters. The \character is called backslash Hello 'Python' Hello "Python" Helo Hello Hello Python Hello Python hello world A A