Hướng dẫn how do you pass a raw string in python? - làm thế nào để bạn vượt qua một chuỗi thô trong python?

Tóm tắt: Trong hướng dẫn này, bạn sẽ tìm hiểu về các chuỗi RAW Python và cách sử dụng chúng để xử lý các chuỗi coi dấu gạch chéo ngược như các ký tự theo nghĩa đen.: in this tutorial, you will learn about Python raw strings and how to use them to handle strings that treat backslashes as literal characters.

Giới thiệu về chuỗi Raw Python

Trong Python, khi bạn đặt trước một chuỗi với chữ cái

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)
0 hoặc

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)
1, chẳng hạn như

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)
2 và

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)
3, chuỗi đó trở thành một chuỗi thô. Không giống như một chuỗi thông thường, một chuỗi thô coi các dấu gạch chéo ngược (

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)
4) là các ký tự theo nghĩa đen.

Chuỗi thô rất hữu ích khi bạn xử lý các chuỗi có nhiều dấu gạch chéo ngược, ví dụ, các biểu thức thông thường hoặc đường dẫn thư mục trên Windows.

Để đại diện cho các ký tự đặc biệt như Tab và Newlines, Python sử dụng dấu gạch chéo ngược (

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)
4) để biểu thị sự bắt đầu của một chuỗi thoát. Ví dụ:

s = 'lang\tver\nPython\t3' print(s)

Code language: Python (python)

Output:

lang ver Python 3

Code language: Python (python)

Tuy nhiên, các chuỗi thô coi dấu gạch chéo ngược (

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)
4) là một đặc tính theo nghĩa đen. Ví dụ:

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)

Output:

lang\tver\nPython\t3

Code language: Python (python)

Một chuỗi thô giống như chuỗi thông thường của nó với dấu gạch chéo ngược (

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)
4) được biểu thị dưới dạng dấu gạch chéo ngược đôi (

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)
8):

s1 = r'lang\tver\nPython\t3' s2 = 'lang\\tver\\nPython\\t3' print(s1 == s2) # True

Code language: Python (python)

Trong một chuỗi thông thường, Python tính một chuỗi thoát là một ký tự duy nhất:

s = '\n' print(len(s)) # 1

Code language: Python (python)

Tuy nhiên, trong một chuỗi thô, Python đếm ngược dòng (

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)
4) là một ký tự:

s = r'\n' print(len(s)) # 2

Code language: Python (python)

Vì dấu gạch chéo ngược (

s = r'lang\tver\nPython\t3' print(s)

Code language: Python (python)
4) thoát khỏi trích dẫn đơn (

lang\tver\nPython\t3

Code language: Python (python)
1) hoặc trích dẫn kép (

lang\tver\nPython\t3

Code language: Python (python)
2), một chuỗi thô không thể kết thúc bằng một số lượng ngược.

Ví dụ:

s = r'\'

Code language: Python (python)

Error:

SyntaxError: EOL while scanning string literal

Code language: Python (python)

Hoặc

s = r'\\\'

Code language: Python (python)

Error:

SyntaxError: EOL while scanning string literal

Code language: Python (python)

Sử dụng chuỗi thô để xử lý đường dẫn tệp trên Windows

Windows OS sử dụng dấu gạch chéo ngược để tách các đường dẫn. Ví dụ:

lang ver Python 3

Code language: Python (python)
1

Nếu bạn sử dụng đường dẫn này như một chuỗi thông thường, Python sẽ đưa ra một số lỗi:

lang ver Python 3

Code language: Python (python)
2

Error:

lang ver Python 3

Code language: Python (python)
3

Python đối xử với \ u trong đường dẫn như một lối thoát Unicode nhưng không thể giải mã nó.

Bây giờ, nếu bạn thoát khỏi dấu gạch chéo ngược đầu tiên, bạn sẽ có các vấn đề khác:

lang ver Python 3

Code language: Python (python)
4

Output:

lang ver Python 3

Code language: Python (python)
5

Trong ví dụ này,

lang\tver\nPython\t3

Code language: Python (python)
3 là một tab và

lang\tver\nPython\t3

Code language: Python (python)
4 là dòng mới.

Để làm cho nó dễ dàng, bạn có thể biến đường dẫn thành một chuỗi thô như thế này:

lang ver Python 3

Code language: Python (python)
6

Chuyển đổi một chuỗi thông thường thành một chuỗi thô

Để chuyển đổi một chuỗi thông thường thành một chuỗi thô, bạn sử dụng hàm repr () tích hợp. Ví dụ:

lang ver Python 3

Code language: Python (python)
7

Output:

lang ver Python 3

Code language: Python (python)
8

Lưu ý rằng chuỗi RAW kết quả có báo giá ở đầu và cuối chuỗi. Để loại bỏ chúng, bạn có thể sử dụng các lát cắt:

lang ver Python 3

Code language: Python (python)
9

Bản tóm tắt

  • Tiền tố một chuỗi theo nghĩa đen với chữ R hoặc R để biến nó thành một chuỗi thô.
  • Chuỗi thô coi dấu gạch chéo ngược như một nhân vật theo nghĩa đen.

Bạn có thấy hướng dẫn này hữu ích không?

Làm cách nào để in dữ liệu thô trong Python?

Để tạo một chuỗi thô trong Python, bạn sẽ đặt một R là dấu trích dẫn bắt đầu của chuỗi. Một chuỗi thô hoàn toàn bỏ qua tất cả các ký tự thoát. Nó in chuỗi chính xác như đã nhập.place an r befor the beginning quotation mark of the string. A raw string completely ignores all escape characters. It prints the string exactly as entered.

Chuỗi thô trong Python Regex là gì?

Theo tài liệu Python, ký hiệu chuỗi thô (R "văn bản") giữ các biểu thức thường xuyên có ý nghĩa và không nhầm lẫn.Nếu không có nó, mọi dấu gạch chéo ngược ('\') trong một biểu thức thông thường sẽ phải được đặt trước với một biểu thức khác để thoát khỏi nó.Ví dụ: hai dòng mã sau đây có chức năng giống hệt nhau - >>> re.keeps 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.

Chuỗi thô là gì cho một ví dụ là gì?

Chuỗi thô là các chuỗi chuỗi thô, coi dấu gạch chéo ngược (\) là một đặc tính theo nghĩa đen.Ví dụ: nếu chúng ta cố gắng in một chuỗi với một \ n, bên trong, nó sẽ thêm một lần ngắt dòng.Nhưng nếu chúng ta đánh dấu nó là một chuỗi thô, nó sẽ chỉ đơn giản là in ra \ n, là một ký tự bình thường.raw 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.

\ R làm gì trong Python?

Trong các chuỗi Python, dấu gạch chéo ngược "\" là một nhân vật đặc biệt, còn được gọi là nhân vật "Escape".Nó được sử dụng để thể hiện các ký tự khoảng trắng nhất định: "\ t" là một tab, "\ n" là một dòng mới và "\ r" là một sự trở lại vận chuyển.Ngược lại, tiền tố một ký tự đặc biệt với "\" biến nó thành một ký tự thông thường.carriage return. Conversely, prefixing a special character with "\" turns it into an ordinary character.