Để trích dẫn một chuỗi trong Python, hãy sử dụng dấu ngoặc đơn bên trong dấu ngoặc kép hoặc ngược lại
Ví dụ
example1 = "He said 'See ya' and closed the door." example2 = 'They said "We will miss you" as he left.' print[example1] print[example2]
đầu ra
He said 'See ya' and closed the door. They said "We will miss you" as he left.
Chuỗi Python
Chuỗi Python là chuỗi ký tự và số
Một chuỗi được bọc xung quanh một tập hợp các dấu nháy đơn hoặc dấu nháy kép. Không có sự khác biệt trong đó bạn sử dụng
Bất cứ thứ gì nằm trong dấu ngoặc kép đều được hiểu là "văn bản" thay vì một lệnh thực thi
Để chứng minh, đây là một số ví dụ
print["10 + 20"] # Prints: 10 + 20 print["This # is not a comment"] # Prints: This # is not a comment print["pow[2,3]"] # Prints: pow[2, 3]Trong mỗi ví dụ, có một thao tác Python thường thực thi. Nhưng vì biểu thức được bọc bên trong một chuỗi, nên biểu thức được in ra nguyên trạng
Nhưng đây là nơi nó trở nên thú vị. Hãy xem điều gì sẽ xảy ra khi bạn đặt một dấu ngoặc kép bên trong một chuỗi
print["This "test" causes problems"]
Kết quả
File "example.py", line 1 print["This "test" causes problems"] ^ SyntaxError: invalid syntax
Điều này xảy ra vì trình thông dịch Python nhìn thấy một chuỗi biểu thức gồm ba phần
He said 'See ya' and closed the door. They said "We will miss you" as he left.
3He said 'See ya' and closed the door. They said "We will miss you" as he left.
4He said 'See ya' and closed the door. They said "We will miss you" as he left.
5
Nó nhìn thấy hai chuỗi và một tham chiếu đến một đối tượng không tồn tại
He said 'See ya' and closed the door. They said "We will miss you" as he left.4. Vì vậy, nó không biết phải làm gì
Để giải quyết vấn đề này, bạn có hai lựa chọn
- Sử dụng dấu ngoặc đơn bên trong dấu ngoặc kép [và ngược lại]
- Thoát dấu ngoặc kép bên trong chuỗi bằng dấu gạch chéo ngược
1. Dấu ngoặc đơn bên trong Dấu ngoặc kép
Để viết một chuỗi được trích dẫn bên trong một chuỗi khác trong Python
- Sử dụng dấu ngoặc kép trong chuỗi bên ngoài và dấu ngoặc đơn trong chuỗi bên trong
- Sử dụng dấu ngoặc đơn trong chuỗi bên ngoài và dấu ngoặc kép trong chuỗi bên trong
Đây là một ví dụ
example1 = "He said 'See ya' and closed the door." example2 = 'They said "We will miss you" as he left.' print[example1] print[example2]
đầu ra
He said 'See ya' and closed the door. They said "We will miss you" as he left.
Nhưng nếu điều này là không đủ thì sao?
Sau đó, bạn cần phải dùng đến cái được gọi là trình tự thoát. Những thứ này giúp bạn có thể thêm bao nhiêu dấu ngoặc kép vào một chuỗi tùy thích
2. Làm thế nào để thoát khỏi trích dẫn trong một chuỗi
Để thêm các chuỗi được trích dẫn bên trong chuỗi, bạn cần thoát khỏi dấu ngoặc kép. Điều này xảy ra bằng cách đặt dấu gạch chéo ngược [_______1_______7] trước ký tự thoát
Trong trường hợp này, hãy đặt nó trước bất kỳ dấu ngoặc kép nào bạn muốn thoát
Đây là một ví dụ
example1 = "This is a \"double quote\" inside of a double quote" example2 = 'This is a \'single quote\' inside of a single quote' print[example1] print[example2]
đầu ra
This is a "double quote" inside of a double quote This is a 'single quote' inside of a single quote
Cách sử dụng dấu gạch chéo ngược trong chuỗi sau đó
Trong Python, dấu gạch chéo ngược là một ký tự đặc biệt giúp thoát chuỗi
Nhưng điều này cũng có nghĩa là bạn không thể sử dụng nó bình thường trong một chuỗi
Ví dụ
print["This\is\a\test"]
đầu ra
He said 'See ya' and closed the door. They said "We will miss you" as he left.0
Để bao gồm dấu gạch chéo ngược trong một chuỗi, hãy thoát nó bằng dấu gạch chéo ngược khác. Điều này có nghĩa là viết một dấu gạch chéo ngược kép [_______1_______8]
Sử dụng một chuỗi ký tự được định dạng để thêm dấu ngoặc kép hoặc dấu ngoặc đơn xung quanh một biến trong Python, e. g. result = f'"{my_var}"'
. Các chuỗi ký tự được định dạng cho phép chúng tôi bao gồm các biến bên trong một chuỗi bằng cách thêm tiền tố vào chuỗi bằng f
Các chuỗi ký tự được định dạng [chuỗi f] cho phép chúng tôi bao gồm các biểu thức bên trong chuỗi bằng cách thêm tiền tố vào chuỗi bằng f
Đảm bảo bọc biến trong dấu ngoặc nhọn - {my_var}
Lưu ý rằng chúng tôi đã bọc chuỗi f trong dấu nháy đơn để có thể sử dụng dấu nháy kép bên trong chuỗi
Điều quan trọng là phải xen kẽ giữa dấu ngoặc đơn và dấu ngoặc kép vì nếu không, bạn sẽ kết thúc sớm chuỗi f
Nếu bạn phải in biến trong dấu ngoặc đơn, hãy bọc chuỗi f trong dấu ngoặc kép
Bạn cũng có thể bao gồm các dấu ngoặc kép trong phần khai báo biến, nhưng hãy đảm bảo bọc biến trong dấu ngoặc đơn hoặc ba
Nếu một chuỗi được bọc trong dấu ngoặc đơn, chúng ta có thể sử dụng dấu ngoặc kép trong chuỗi mà không gặp vấn đề gì
Tuy nhiên, nếu chúng ta cố gắng sử dụng dấu ngoặc kép trong một chuỗi được bao trong dấu ngoặc kép, thì cuối cùng chúng ta sẽ kết thúc chuỗi sớm
Nếu bạn phải bao gồm cả dấu ngoặc đơn và dấu ngoặc kép trong chuỗi, hãy sử dụng chuỗi có dấu ngoặc kép
Nếu bạn cần có một trích dẫn kép ngay bên cạnh các trích dẫn kép kết thúc chuỗi ba trích dẫn, hãy thoát khỏi nó
Chuỗi trích dẫn ba rất giống với chuỗi cơ bản mà chúng ta khai báo bằng cách sử dụng dấu ngoặc đơn hoặc dấu ngoặc kép
Nhưng chúng cũng cho phép chúng ta
- sử dụng dấu ngoặc đơn và dấu ngoặc kép trong cùng một chuỗi mà không thoát
- xác định chuỗi nhiều dòng mà không cần thêm ký tự dòng mới
Chuỗi trong ví dụ sử dụng cả dấu ngoặc đơn và dấu ngoặc kép và không phải thoát bất cứ thứ gì
Cuối dòng được tự động bao gồm trong chuỗi trích dẫn ba lần, vì vậy chúng tôi không phải thêm ký tự xuống dòng ở cuối
Ngoài ra, bạn có thể sử dụng phương pháp str.format[]
In một biến bên trong dấu ngoặc kép bằng cách sử dụng str. định dạng[]
Để in một biến bên trong dấu ngoặc kép
- Sử dụng phương pháp
str.format[]
để bọc biến trong dấu ngoặc kép - Sử dụng hàm
print[]
để in kết quả
Phương thức thực hiện các thao tác định dạng chuỗi
Chuỗi mà phương thức được gọi có thể chứa các trường thay thế được chỉ định bằng dấu ngoặc nhọn {}
Đảm bảo cung cấp chính xác số đối số cho phương thức format[]
khi bạn có các trường thay thế trong chuỗi
Bạn cũng có thể bao gồm các trích dẫn trong khai báo biến
Lưu ý rằng chúng tôi đã sử dụng dấu nháy đơn để ngắt chuỗi và dấu nháy kép bên trong chuỗi
Nếu chúng ta sử dụng dấu ngoặc đơn bên trong chuỗi mà không thoát khỏi chúng, chúng ta sẽ kết thúc chuỗi sớm