Page 53 - Em Học Python
P. 53
dùng bao nhiêu ngoặc đơn ngoặc kép gì trong chuỗi cũng được (miễn là đừng có dùng ba
dấu ngoặc đơn trong đó). Đây là phiên bản ngon lành của chuỗi lúc nãy:
silly_string = '''He said, "Aren't can't shouldn't wouldn't."'''
À khoan, còn cái này nữa. Nếu thực sự chỉ
muốn dùng ngoặc đơn hoặc ngoặc kép để bọc
chuỗi trong Python thay vì ba dấu ngoặc kia, em
có thể dùng dấu gạch ngược ( \) trước mỗi dấu
ngoặc bị trùng bên trong chuỗi. Việc này gọi là
thoát ra ⟨escape⟩. Đây là cách để ta nói với Python
rằng “OK, tôi biết trong chuỗi của tôi có ngoặc bị
trùng rồi, đề nghị anh bỏ qua cho tới khi anh nhìn
thấy dấu đóng ngoặc thật sự nhá.”
Việc viết thêm các ký tự thoát vào có thể khiến cho chuỗi trở nên khó đọc hơn, nên
dùng chuỗi nhiều dòng phần nào đó ổn hơn. Nhưng biết đâu về sau em lại gặp những đoạn
code có dùng ký tự thoát, cho nên dù sao đi nữa, hiểu ý nghĩa của mấy cái dấu gạch ngược
này vẫn hơn nhỉ.
Đây là vài ví dụ về ký tự thoát:
>>> single_quote_str = 'He said, "Aren\'t can\'t shouldn\'t wouldn\'t."'
>>> double_quote_str = "He said, \"Aren't can't shouldn't wouldn't.\""
>>> print(single_quote_str)
He said, "Aren't can't shouldn't wouldn't."
>>> print(double_quote_str)
He said, "Aren't can't shouldn't wouldn't."
Đầu tiên ở ❶, ta tạo ra một chuỗi bằng ngoặc đơn, sử dụng dấu gạch ngược để thoát
khỏi các ngoặc đơn khác bên trong chuỗi. Sau đó ở ❷, ta tạo ra một chuỗi khác bằng dấu
ngoặc kép và sử dụng dấu gạch ngược để thoát khỏi các ngoặc kép khác bên trong chuỗi.
Dòng cuối cùng ta in các biến vừa được tạo. Em có thể thấy là mấy dấu gạch ngược này
hoàn toàn vô hình lúc in nhé.
Chuỗi, mảng, tuple và map 27