9.1 Khai báo chuỗi
Trong Python, chuỗi là một tập hợp các kí tự, được sử dụng để lưu trữ và biểu diễn thông tin văn bản. Chuỗi có thể được tạo ra theo nhiều cách khác nhau, giúp linh hoạt trong việc khai báo và thao tác với chúng (Như bạn đã biết, không thể thay đổi nội dung của chuỗi).
Các cách khai báo chuỗi cơ bản
- Dấu nháy đơn:
string
= 'Xin chào, bạn hiền!' - Dấu nháy kép:
string
= "Xin chào, bạn hiền!"
Cả hai cách đều tương đương, lựa chọn phụ thuộc vào sở thích của lập trình viên và sự xuất hiện của loại dấu nháy trong chuỗi (để tránh việc sử dụng dấu gạch chéo ngược để thoát kí tự).
Chuỗi nhiều dòng
Để khai báo chuỗi nhiều dòng, sử dụng dấu nháy ba. Có thể là dấu nháy đơn ba (''')
hoặc dấu nháy kép ba (""")
. Cách này tiện lợi cho văn bản chiếm nhiều dòng:
multiline_string = """Dòng đầu tiên
dòng thứ hai
dòng thứ ba"""
Thoát kí tự
Trong Python, các kí tự trong chuỗi có thể được thoát bằng dấu gạch chéo ngược (\
). Điều này cho phép chèn các kí tự đặc biệt như dòng mới (\n
), tab (\t
), hoặc chính dấu gạch chéo ngược (\\
).
escaped_string = "Anh ấy nói: \"Xin chào, bạn hiền!\""
Chúng ta sẽ xem xét kỹ hơn việc thoát kí tự ở một vài bài giảng dưới đây.
Chuỗi thô
Chuỗi thô (raw string)
là những chuỗi mà việc thoát kí tự bị vô hiệu hóa. Chúng được khai báo với tiền tố r
:
raw_string = r"Trong chuỗi này \n không được coi là dòng mới."
Định dạng chuỗi
Python cung cấp một số phương pháp để định dạng chuỗi. Phương pháp mạnh nhất là f-strings
, có sẵn từ Python 3.6. Chúng cho phép nhúng các biểu thức Python trực tiếp vào chuỗi:
name = "Thế giới"
formatted_string = f"Xin chào, {name}!"
Nối chuỗi
Có thể tạo chuỗi bằng cách nối nhiều chuỗi với nhau, sử dụng toán tử «+»
hoặc phương thức join()
cho những trường hợp phức tạp hơn:
greeting = "Xin chào, " + "bạn hiền!"
Tính bất biến của chuỗi
Nhớ rằng các chuỗi trong Python là bất biến. Điều này có nghĩa là mọi thao tác sửa đổi chuỗi thực chất là tạo ra một chuỗi mới.
9.2 Nháy kép lồng nhau
Trong Python, làm việc với các chuỗi chứa nháy kép lồng nhau yêu cầu chú ý đặc biệt đến cú pháp để đảm bảo mã được chính xác và tránh lỗi cú pháp.
Không thể chỉ viết nháy trong văn bản được bao ngoài bởi nháy. Ví dụ, bạn viết mã:
escaped_string = "Anh ấy nói: "Xin chào, thế giới!"… "
Nhưng Python thấy như sau:
escaped_string = "Anh ấy nói: "Xin chào, thế giới!"… "
Python tìm không phải nháy cuối cùng trong chuỗi, mà là nháy gần nhất. Do đó, để thêm nháy vào văn bản bạn cần cố gắng một chút. Dưới đây là tổng quan về các phương pháp quản lý nháy lồng nhau trong chuỗi Python:
Sử dụng các loại nháy khác nhau
Python cho phép sử dụng cả nháy đơn (')
và nháy kép (")
để định nghĩa chuỗi. Điều này cho phép lồng một loại nháy bên trong loại khác:
quote = "Anh ấy nói, 'Xin chào, thế giới!'"
# hoặc
quote = 'Anh ấy nói, "Xin chào, thế giới!"'
Thoát nháy
Khi cần sử dụng các nháy giống nhau bên trong chuỗi, có thể sử dụng dấu gạch chéo ngược (\)
để thoát nháy:
quote = "Anh ấy nói,\"Xin chào, thế giới!\" "
Chuỗi nhiều dòng
Để tạo ra chuỗi nhiều dòng chứa nháy lồng nhau, tiện lợi sử dụng dấu nháy ba (''' hoặc """)
:
multiline_quote = """Đây là một trích dẫn dài chứa nhiều loại dấu nháy:
"nháy kép" và 'nháy đơn'. Nó trải dài trên nhiều dòng."""
GO TO FULL VERSION