Bài 22. Dữ liệu kiểu string
Một xâu (string - chuỗi) là một dãy các ký tự. Một ký tự chỉ đơn giản là một biểu tượng (một lần nhấn phím). Ví dụ, ngôn ngữ tiếng Anh có 26 ký tự.
Máy tính không xử lý các ký tự, chúng xử lý các số (nhị phân). Mặc dù ta có thể nhìn thấy các ký tự trên màn hình của mình, nhưng bên trong nó vẫn được lưu trữ và thao tác dưới dạng kết hợp của 0 và 1.
Quá trình chuyển đổi ký tự thành số này được gọi là mã hóa và quá trình ngược lại là giải mã. ASCII và Unicode là các bảng mã được sử dụng phổ biến.
Trong Python, string là một chuỗi các ký tự Unicode. Unicode là bảng mã có thể biểu diễn mọi ký tự trong tất cả các ngôn ngữ hiện nay trên thế giới.
Khởi tạo string
Các ký tự được đặt trong cặp nháy đơn, kép, ba nháy đơn được gọi là một xâu (string). Một xâu có thể có 1 hoặc nhiều ký tự. Xâu không chứa ký tự gọi là xâu rỗng.
Ví dụ:
Truy cập ký tự trong string
Ta có thể truy cập từng ký tự của chuỗi thông qua chỉ số. Chỉ số của các ký tự trong chuỗi được bắt đầu từ 0 và theo chiều ngược lại được bắt đầu từ -1.
Ví dụ:
Chỉ số chỉ có thể là số nguyên trong phạm vi từ 0 đến chiều dài xâu - 1.
Thêm, sửa, xóa ký tự trong string
String không cho phép sửa đổi ký tự sau khi gán. Ta chỉ có thể ghép xâu với toán tử +, * hoặc gán lại giá trị mới cho xâu. Ta cũng có thể xóa biến xâu bằng từ khoá del.
Ví dụ:
Lưu ý: (1) Khi viết 2 string gần nhau sẽ cho kết quả như sử dụng phép cộng 2 string. (2) Ta có thể nối các string trên các dòng khác nhau bằng dấu ngoặc.
Ví dụ:
Kiểm tra xâu con chứa trong xâu
Ta có thể kiểm tra xem một xâu con có tồn tại trong một xâu hay không bằng cách sử dụng từ khóa in.
Lặp theo ký tự của xâu
Hàm dựng sẵn cho string
Có nhiều hàm để làm việc với xâu. Các hàm thường dùng khi làm việc với xâu là hàm len() và emurate().
Định dạng xâu
Yêu cầu 1: Viết chương trình in ra màn hình dòng sau: He said, "What's there?"
Nếu ta dùng cặp nháy đơn hay nháy kép đều sẽ gặp lỗi vì bản thân câu trên đã có chứa cả nháy đơn và nháy kép.
Cách xử lý là dùng cặp ba nháy đơn hoặc dùng ký tự "\" để bỏ qua dấu khóa string. Ví dụ:
Yêu cầu 2: Viết chương trình in ra màn hình dòng sau: C:\My Documents\noname
Trong Python, khi gặp dấu \ thì Python sẽ coi ký tự tiếp theo là một ký tự xâu bình thường và không coi nó là toán tử hay keyword nữa (trừ những toán tử, keyword đi kèm dấu \).
Vì vậy trong trường hợp ta muốn Python coi dấu \ là một ký tự thông thường thì ta phải thêm từ khóa r vào trường nháy mở xâu.
Ví dụ, chạy thử chương trình sau để thấy sự khác nhau giữa 2 câu lệnh
Một số thao tác khác với dấu \
Lệnh
Ý nghĩa
\a
ASCII Bell (âm báo)
\b
ASCII Backspace (xóa lùi)
\f
ASCII Formfeed (trang mới)
\n
ASCII Linefeed (dòng mới)
\r
ASCII Carriage Return
\t
ASCII Horizontal Tab (tab ngang)
\v
ASCII Vertical Tab (tab dọc)
\ooo
Character with octal value ooo (Ký tự có giá trị bát phân là ooo)
\xHH
Character with hexadecimal value HH (Ký tự có giá trị thập lục phân là HH)
Định dạng với f-string
Xét ví dụ dưới đây:
Định dạng theo phương thức format()
Phương thức thường dùng
Python có rất nhiều phương thức làm việc với string. Một số phương pháp thường được sử dụng là lower(), upper(), join(), split(), find(), replace(), index()...
Ví dụ:
Có thể tham khảo các phương thức khác làm việc với string tại đây.
Last updated