Hướng dẫn python raw string notation - ký hiệu chuỗi thô python
Chuỗi RAW Python được tạo bằng tiền tố một chuỗi theo nghĩa đen với ‘r, hoặc‘ r. Chuỗi thô Python coi Backslash (\) là một ký tự theo nghĩa đen. Điều này rất hữu ích khi chúng tôi muốn có một chuỗi chứa dấu gạch chéo ngược và don không muốn nó được coi là một nhân vật thoát. Show
Chuỗi Raw PythonHãy nói rằng chúng tôi muốn tạo một chuỗi hi \ nhello trong Python. Nếu chúng ta cố gắng gán nó cho một chuỗi bình thường, \ n sẽ được coi là một dòng mới.Hi\nHello in python. If we try to assign it to a normal string, the \n will be treated as a new line.
Đầu ra:
Hãy cùng xem chuỗi RAW giúp chúng ta coi việc đánh dấu dấu gạch chéo ngược như một nhân vật bình thường như thế nào.
Đầu ra:
Chúng tôi đã gặp lỗi vì Python không biết cách giải mã ‘\ x, vì nó không có ý nghĩa đặc biệt nào. Hãy để xem cách chúng ta có thể tạo cùng một chuỗi bằng các chuỗi thô.
Nếu bạn đang ở trên bảng điều khiển Python và tạo một chuỗi thô như dưới đây.
Don Tiết bị nhầm lẫn với đầu ra có hai dấu gạch chéo ngược. Nó chỉ để hiển thị nó như một chuỗi Python bình thường, trong đó dấu gạch chéo ngược đang bị thoát ra. Chuỗi và trích dẫn Python RawKhi một dấu gạch chéo ngược được theo sau bởi một trích dẫn trong một chuỗi thô, nó đã thoát ra. Tuy nhiên, dấu gạch chéo ngược cũng vẫn còn trong kết quả. Vì tính năng này, chúng tôi có thể tạo ra một chuỗi RAW của dấu gạch chéo ngược. Ngoài ra, một chuỗi thô có thể có một số ít các dấu gạch chéo ngược ở cuối. Một số chuỗi thô không hợp lệ là:
Hãy cùng xem xét một số ví dụ chuỗi thô hợp lệ với các trích dẫn.
Output:
Đó là tất cả để giới thiệu nhanh chuỗi Raw Python. Bạn có thể kiểm tra toàn bộ tập lệnh Python và nhiều ví dụ về Python từ Kho lưu trữ GitHub của chúng tôi. 1 câu trả lờiĐược sắp xếp bởi: Đặt lại về mặc định 1 Tôi đã thử đường dẫn này = đầu vào [r'input của bạn đường dẫn của bạn: '] Có vẻ như đường dẫn đó giống như paht = \ path \ the \ user \ đã chọn Nhân tiện, tôi sử dụng Python3. Cải thiện câu trả lời này Đã trả lời ngày 6 tháng 9 năm 2019 lúc 1:10Sep 6, 2019 at 1:10 Thời gian nghỉ phéptime Off Huy hiệu đồng 2111 bronze badge 1
Thêm một bình luận & nbsp; | & nbsp; | câu trả lời của bạnĐăng ký hoặc đăng nhậpĐăng ký bằng Google Đăng ký bằng Facebook Đăng ký bằng email và mật khẩu Đăng như một kháchTên Yêu cầu, nhưng không bao giờ hiển thị Bằng cách nhấp vào bài đăng của bạn, bạn đồng ý với Điều khoản dịch vụ, chính sách quyền riêng tư và chính sách cookie của chúng tôi Không phải là câu trả lời bạn đang tìm kiếm? Duyệt những câu hỏi khác được gắn thẻREGEXsợi dâypython-2.7 Hoặc đặt câu hỏi của riêng bạn.Trong Python, các chuỗi có tiền tố R hoặc R, chẳng hạn như R '...' và R "...", được gọi là chuỗi thô và coi dấu gạch chéo ngược \ là ký tự theo nghĩa đen. Chuỗi thô rất hữu ích khi xử lý các chuỗi sử dụng nhiều dấu gạch chéo ngược, chẳng hạn như đường dẫn Windows và các mẫu biểu thức thông thường. Bài viết này mô tả các nội dung sau đây.
Trình tự thoátChuỗi thô coi dấu gạch chéo ngược như các ký tự theo nghĩa đen
Chuỗi thô không thể kết thúc bằng một số ít các dấu gạch chéo ngược = 'a\tb\nA\tB' print[s] # a b # A B Chuỗi thô coi dấu gạch chéo ngược như các ký tự theo nghĩa đenChuyển đổi chuỗi bình thường thành chuỗi thô bằng repr [] Chuỗi thô không thể kết thúc bằng một số ít các dấu gạch chéo ngược = r'a\tb\nA\tB' print[rs] # a\tb\nA\tB Trong Python, các ký tự không thể được biểu diễn trong một chuỗi bình thường [chẳng hạn như các tab, nguồn cấp dữ liệu. v.v.] được mô tả bằng cách sử dụng chuỗi thoát với dấu gạch chéo ngược \ [chẳng hạn như \ t hoặc \ n], tương tự như ngôn ngữ C. 2. Phân tích từ vựng - Chuỗi và byte theo nghĩa đen - Python 3.9.7 Tài liệu[type[rs]] # s = 'a \ tb \ na \ tb'print [s]# a b# a b
rs = r'a \ tb \ na \ tb'print [rs]# a \ tb \ na \ tb[len[s]] # 7 print[list[s]] # ['a', '\t', 'b', '\n', 'A', '\t', 'B'] print[len[rs]] # 10 print[list[rs]] # ['a', '\\', 't', 'b', '\\', 'n', 'A', '\\', 't', 'B'] Không có loại đặc biệt cho chuỗi thô; Nó chỉ là một chuỗi, tương đương với một chuỗi thông thường với các dấu gạch chéo ngược được biểu thị bởi \\.print [type [rs]]# in Trong một chuỗi bình thường, một chuỗi thoát được coi là một ký tự, nhưng trong một chuỗi thô, các dấu gạch chéo ngược cũng được tính là ký tự. Nhận độ dài của một chuỗi [số lượng ký tự] trong Python = 'C:\\Windows\\system32\\cmd.exe' rpath = r'C:\Windows\system32\cmd.exe' print[path == rpath] # True in [len [s]]# 7print [list [s]]# ['a', '\ t', 'b', '\ n', 'a', '\ t', 'b'] in [ Len [rs]]# 10print [list [rs]]# ['a', '\\', 't', 'b', '\\', 'n', 'a', '\', 'T', 'B']] Đường dẫn Windows = 'C:\\Windows\\system32\\' # rpath2 = r'C:\Windows\system32\' # SyntaxError: EOL while scanning string literal rpath2 = r'C:\Windows\system32' + '\\' print[path2 == rpath2] # True Chuyển đổi chuỗi bình thường thành chuỗi thô bằng repr []Chuỗi thô không thể kết thúc bằng một số ít các dấu gạch chéo ngược
2. Phân tích từ vựng - Chuỗi và byte theo nghĩa đen - Python 3.9.7 Tài liệu = repr[s] print[s_r] # 'a\tb\nA\tB' s = 'a \ tb \ na \ tb'print [s]# a b# a b Các chuỗi được đặt trước với r hoặc r, chẳng hạn như r '...' và r "...", được gọi là chuỗi thô và coi dấu gạch chéo ngược \ là ký tự nghĩa đen. Trong các chuỗi thô, các chuỗi thoát không được đối xử đặc biệt.[list[s_r]] # ["'", 'a', '\\', 't', 'b', '\\', 'n', 'A', '\\', 't', 'B', "'"] rs = r'a \ tb \ na \ tb'print [rs]# a \ tb \ na \ tb Không có loại đặc biệt cho chuỗi thô; Nó chỉ là một chuỗi, tương đương với một chuỗi thông thường với các dấu gạch chéo ngược được biểu thị bởi \\. = repr[s][1:-1] print[s_r2] # a\tb\nA\tB print[s_r2 == rs] # True print[r'\t' == repr['\t'][1:-1]] # True Chuỗi thô không thể kết thúc bằng một số ít các dấu gạch chéo ngượcTrong Python, các ký tự không thể được biểu diễn trong một chuỗi bình thường [chẳng hạn như các tab, nguồn cấp dữ liệu. v.v.] được mô tả bằng cách sử dụng chuỗi thoát với dấu gạch chéo ngược \ [chẳng hạn như \ t hoặc \ n], tương tự như ngôn ngữ C.
s = 'a \ tb \ na \ tb'print [s]# a b# a b # SyntaxError: EOL while scanning string literal print[r'\\'] # \\ # print[r'\\\'] # SyntaxError: EOL while scanning string literal Các chuỗi được đặt trước với r hoặc r, chẳng hạn như r '...' và r "...", được gọi là chuỗi thô và coi dấu gạch chéo ngược \ là ký tự nghĩa đen. Trong các chuỗi thô, các chuỗi thoát không được đối xử đặc biệt.rs = r'a \ tb \ na \ tb'print [rs]# a \ tb \ na \ tbput the sequence of characters inside either single quotes, double quotes, or triple quotes and then assign it to a variable. You can look into how variables work in Python in the Python variables tutorial. For example, you can assign a character 'a' to a variable single_quote_character . Không có loại đặc biệt cho chuỗi thô; Nó chỉ là một chuỗi, tương đương với một chuỗi thông thường với các dấu gạch chéo ngược được biểu thị bởi \\.print [type [rs]]# inraw string literals that treat backslash [\ ] as a literal character. For example, if we try to print a string with a “\n” inside, it will add one line break. But if we mark it as a raw string, it will simply print out the “\n” as a normal character. Trong một chuỗi bình thường, một chuỗi thoát được coi là một ký tự, nhưng trong một chuỗi thô, các dấu gạch chéo ngược cũng được tính là ký tự.Nhận độ dài của một chuỗi [số lượng ký tự] trong Pythonallows all characters in a string literal to remain the same in code and in the material, rather than performing their standard programming functions. Raw strings are denoted with the letter r, or capital R, and might look something like this: R “[hello]” in [len [s]]# 7print [list [s]]# ['a', '\ t', 'b', '\ n', 'a', '\ t', 'b'] in [ Len [rs]]# 10print [list [rs]]# ['a', '\\', 't', 'b', '\\', 'n', 'a', '\', 'T', 'B']]Đường dẫn Windowskeeps regular expressions meaningful and confusion-free. Without it, every backslash ['\'] in a regular expression would have to be prefixed with another one to escape it. For example, the two following lines of code are functionally identical − >>> re. |