Để 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 [
He said 'See ya' and closed the door. They said "We will miss you" as he left.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ụ
He said 'See ya' and closed the door. They said "We will miss you" as he left.2
đầu ra
He said 'See ya' and closed the door. They said "We will miss you" as he left.3
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ụ
He said 'See ya' and closed the door. They said "We will miss you" as he left.4
đầ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 [______18]
Bạn có thể sử dụng dấu ngoặc đơn và dấu ngoặc kép Python để tạo chuỗi. Không có sự khác biệt giữa hai. Không quan trọng bạn sử dụng phương pháp nào
He said 'See ya' and closed the door. They said "We will miss you" as he left.7
Bất kể bạn sử dụng cái nào, vui lòng nhất quán với nó trong cơ sở mã. Không viết một chuỗi có dấu ngoặc kép và chuỗi kia có dấu nháy đơn
Ngoài ra, có một số điều cần lưu ý khi xử lý chuỗi trong Python. Hãy thảo luận ngắn gọn về chúng
Vấn đề với Dấu ngoặc kép bên trong Chuỗi
Nếu bạn sử dụng các từ như
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]7 trong một chuỗi có dấu nháy đơn, bạn cần xử lý việc diễn giải sai bằng Python
Ví dụ, chuỗi này là sai
He said 'See ya' and closed the door. They said "We will miss you" as he left.8
đầu ra
He said 'See ya' and closed the door. They said "We will miss you" as he left.9
Sự cố này phát sinh do Python thấy chuỗi có ba phần thay vì một chuỗi. Đây là những gì trình thông dịch Python nhìn thấy
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]
8He said 'See ya' and closed the door. They said "We will miss you" as he left.
80He said 'See ya' and closed the door. They said "We will miss you" as he left.
81
Đương nhiên, điều này sẽ không làm việc
Để tránh các chuỗi gây ra lỗi như thế này, bạn có thể sử dụng dấu ngoặc kép
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]2
đầu ra
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]3
Hoặc bạn có thể thoát dấu nháy đơn bằng dấu gạch chéo ngược như sau
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]4
đầu ra
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]3
\’ cho trình thông dịch Python biết bạn muốn thoát khỏi ký tự ‘. Nói cách khác, bạn nói với trình thông dịch rằng ký tự thường kết thúc chuỗi này giờ là một phần của nó và sẽ bị trình thông dịch bỏ qua
Đọc thêm về cách trích dẫn một chuỗi Python
Làm thế nào về trích dẫn ba trong Python
Nếu bạn quen thuộc hơn với Python, bạn có thể biết rằng cũng có một loại chuỗi đặc biệt được tạo bằng dấu ngoặc kép ”’…”’
Đây được gọi là một chuỗi tài liệu. Nó có thể được sử dụng để ghi lại các hàm, lớp, mô-đun và kiểu
Ví dụ: một chuỗi tài liệu có thể trông như thế này
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]6
Chuỗi tài liệu hoạt động cùng với hàm help[] trong Python. Khi bạn gọi help[] trên một đối tượng, nó sẽ trả về chuỗi tài liệu của đối tượng [nếu có]
Có thể sử dụng chuỗi tài liệu để giải quyết vấn đề về dấu ngoặc kép bên trong chuỗi. Nhưng bạn không nên làm điều đó vì chúng nhằm mục đích mã hóa tài liệu. Không viết chuỗi
Đọc thêm về docstrings trong Python
Sự kết luận
Trong Python, bạn có thể tạo một chuỗi có dấu ngoặc kép hoặc dấu ngoặc đơn. không có sự khác biệt
Khi sử dụng dấu ngoặc kép bên trong một chuỗi, đảm bảo thoát khỏi chúng để không gây ra lỗi cú pháp
Một dấu ngoặc kép ba trong chuỗi được sử dụng làm chuỗi tài liệu. Không sử dụng nó như một chuỗi thông thường