Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu về ký tự Backslash Python như là một phần của ký tự chuỗi đặc biệt hoặc để thoát khỏi các ký tự trong một chuỗi.: in this tutorial, you’ll learn about the Python backslash character as a part of a special sequence character or to escape characters in a string.
Giới thiệu về Backslash của Python
Trong Python, dấu gạch chéo ngược [____ 12] là một nhân vật đặc biệt. Nếu bạn sử dụng dấu gạch chéo ngược ở phía trước của một nhân vật khác, nó sẽ thay đổi ý nghĩa của nhân vật đó.
Ví dụ,
3 là một nhân vật theo nghĩa đen. Nhưng nếu bạn sử dụng ký tự dấu gạch chéo ngược ở phía trước chữ cái
Hello, World
3, nó sẽ trở thành ký tự tab [
Hello, World
5].
Hello, World
Nói chung, dấu gạch chéo ngược có hai mục đích chính.
Đầu tiên, ký tự dấu gạch chéo ngược là một phần của các chuỗi ký tự đặc biệt như ký tự tab
5 hoặc ký tự dòng mới
Hello, World
7.
Hello, World
Ví dụ sau in một chuỗi có ký tự dòng mới:
Code language: PHP [php]
print['Hello,\n World']
Output:
Hello, World
\ N là một ký tự duy nhất, không phải hai. Ví dụ:
Code language: PHP [php]
s = '\n' print[len[s]] # 1
Thứ hai, dấu gạch chéo ngược [
2] thoát khỏi các ký tự đặc biệt khác. Ví dụ: nếu bạn có một chuỗi có một trích dẫn duy nhất bên trong một chuỗi được trích xuất như chuỗi sau, bạn cần sử dụng dấu gạch chéo ngược để thoát khỏi ký tự trích dẫn duy nhất:
Hello, World
Code language: PHP [php]
s = '"Python\'s awesome" She said' print[s]
Output:
Code language: JavaScript [javascript]
"Python's awesome" She said
Backslash trong F-String
PEP-498 chỉ định rằng một chuỗi F không thể chứa một ký tự dấu gạch chéo ngược như là một phần của biểu thức bên trong niềng răng xoăn
9.
Hello, World
Ví dụ sau sẽ dẫn đến lỗi:
Code language: PHP [php]
colors = ['red','green','blue'] s = f'The RGB colors are:\n {'\n'.join[colors]}' print[s]
Error:
Code language: JavaScript [javascript]
SyntaxError: f-string expression part cannot include a backslash
Để khắc phục điều này, bạn cần tham gia các chuỗi trong danh sách
0 trước khi đặt chúng vào niềng răng xoăn:Code language: PHP [php]
s = '\n' print[len[s]] # 1
Code language: PHP [php]
colors = ['red','green','blue'] rgb = '\n'.join[colors] s = f"The RGB colors are:\n{rgb}" print[s]
Output:
The RGB colors are: red green blue
Dấu gạch chéo ngược trong chuỗi thô
Chuỗi thô coi ký tự dấu gạch chéo ngược [
2] là một đặc tính theo nghĩa đen. Ví dụ sau đây coi ký tự dấu gạch chéo ngược
Hello, World
2 là một ký tự theo nghĩa đen, không phải là một nhân vật đặc biệt:
Hello, World
s = r'\n' print[s]
Code language: PHP [php]
Output:
0
Hello, World
Bản tóm tắt
- Nhân vật Backslash Python [
2] là một ký tự đặc biệt được sử dụng như một phần của chuỗi đặc biệt nhưHello, World
5 vàHello, World
7.Hello, World
- Sử dụng Backslash Python [
2] để thoát khỏi các ký tự đặc biệt khác trong một chuỗi.Hello, World
- Các chuỗi F không thể chứa dấu gạch chéo ngược một phần biểu thức bên trong niềng răng xoăn
9.Hello, World
- Các chuỗi thô coi dấu gạch chéo ngược [\] là một đặc tính theo nghĩa đen.
Bạn có thấy hướng dẫn này hữu ích không?
Python đối xử với
2 trong chuỗi theo nghĩa đen theo một cách đặc biệt. Điều này là để bạn có thể gõ
Hello, World
9 có nghĩa là Newline hoặcCode language: PHP [php]
s = '\n' print[len[s]] # 1
0 có nghĩa là tab vìCode language: PHP [php]
s = '"Python\'s awesome" She said' print[s]
1 không có nghĩa gì đặc biệt đối với Python, thay vì gây ra lỗi, máy phân tích từ vựng Python hoàn toàn thêmCode language: PHP [php]
s = '"Python\'s awesome" She said' print[s]
2 cho bạn.
Hello, World
This is so you can type
9 to mean newline orCode language: PHP [php]
s = '\n' print[len[s]] # 1
0 to mean tabCode language: PHP [php]
s = '"Python\'s awesome" She said' print[s]
Since
1 doesn't mean anything special to Python, instead of causing an error, the Python lexical analyser implicitly adds the extra
s = '"Python\'s awesome" She said' print[s]
Code language: PHP [php]
2 for you.
Hello, World
Thực sự tốt hơn là sử dụng
3 hoặcCode language: PHP [php]
s = '"Python\'s awesome" She said' print[s]
4 thay vìCode language: PHP [php]
s = '"Python\'s awesome" She said' print[s]
1Code language: PHP [php]
s = '"Python\'s awesome" She said' print[s]
6 ở đây có nghĩa là chuỗi thô và có nghĩa làCode language: PHP [php]
s = '"Python\'s awesome" She said' print[s]
2 không được xử lý đặc biệt trừ khi nó đúng trước khi ký tự trích dẫn khi bắt đầu chuỗi.
Hello, World
Trong bảng điều khiển tương tác, Python sử dụng
8 để hiển thị kết quả, vì vậy đó là lý do tại sao bạn thấy kép '\'. Nếu bạnCode language: PHP [php]
s = '"Python\'s awesome" She said' print[s]
9 chuỗi của bạn hoặc sử dụngCode language: PHP [php]
s = '"Python\'s awesome" She said' print[s]
0, bạn sẽ thấy rằng nó thực sự chỉ là 2 ký tựCode language: JavaScript [javascript]
"Python's awesome" She said
Vài ví dụ
1
Hello, World
Để làm rõ điểm Peter đưa ra trong bình luận của mình, hãy xem liên kết này
Không giống như tiêu chuẩn C, tất cả các chuỗi thoát không được công nhận được để lại trong chuỗi không thay đổi, tức là, dấu gạch chéo ngược được để lại trong chuỗi. . Danh mục của các lối thoát không được công nhận cho các chữ không liên tục.