1. Kiểu dữ liệu Strings trong Python
Kiểu dữ liệu String trong Python là các ký tự hay một chuỗi gồm nhiều ký tự được đặt trong dấu nháy đơn hoặc đặt trong dấu nháy đôi. Ví dụ các chuỗi: ‘Xin chao’, “tailieutxd.com”….
Ta có thể sử dụng hàm print() để hiển thị giá trị chuỗi ra màn hình như sau:
Kết quả:
Xin chao tailieutxd.com |
Ngoài cách hiển thị trực tiếp chuỗi từ hàm print(), ta có thể gán một chuỗi cho một biến bất kỳ và hiện thị biến đó ra màn hình.
Ví dụ gán các chuỗi: “Xin chao” và “tailieutxd.com” cho 2 biến x và y như sau:
Kết quả:
Xin chao tailieutxd.com |
2. Truy cập ký tự trong chuỗi Python
Trong Python ta có thể truy cập các giá trị đơn lẻ của một chuỗi thông qua chỉ số (index). Các chỉ số cho phép tham chiếu tới địa chỉ các ký tự có trong chuỗi. Ví dụ chỉ số 0 truy cập đến ký tự đầu tiên, 1 đề cập đến ký tự thứ hai….
Và ta có thể truy cập ngược lại từ cuối chuỗi về đầu chuỗi thông qua các chỉ số âm. Ví dụ như chỉ số -1 đề truy cập đến ký tự cuối cùng, -2 truy cập đến ký tự cuối cùng thứ hai, v.v.
Kết quả:
Chuoi ban dau la: tailieutxd.com Ky tu dau tien cua chuoi la: L Ky tu cuoi cung cua chuoi la: m |
Trong chuỗi “tailieutxd.com” bao gồm các chỉ số index như sau:
k | h | o | a | h | o | c | . | t | o | a | n | 2 | 4 | 7 | . | c | o | m |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
-19 | -18 | -17 | -16 | -15 | -14 | -13 | -12 | -11 | -10 | -9 | -8 | -7 | -6 | -5 | -4 | -3 | -2 | -1 |
Chú ý: Nếu truy cập vào chỉ số quá cao hoặc quá thấp (chỉ số không tồn tại trong chuỗi) thì sẽ gây ra lỗi IndexError.
Ví dụ truy cập vào chỉ số -20 (chỉ số này không tồn tại ở chuỗi trên) sẽ nhận kết quả như sau:
Kết quả:
IndexError: string index out of range |
3. Thao tác với chuỗi ký tự trong Python
3.1 Lặp một chuỗi
Chuỗi ký tự thực chất cũng là một mảng, các ký tự đơn lẻ trong chuỗi được coi là một phần tử của mảng. Ta có thể sử dụng vòng lặp for trong Python để lặp một chuỗi.
Ví dụ chúng ta có chuỗi: “Hello” có thể lặp bằng vòng lặp for và hiển thị ra từng ký tự của chuỗi trên như sau:
Kết quả:
H e l l o |
3.2 Kiểm tra độ dài chuỗi
Để kiểm tra độ dài của một chuỗi bất kỳ, trong Python sẽ sử dụng hàm len(). Hàm len() sẽ đếm và coi chuỗi đó bắt đầu từ số 1 là ký tự đầu tiên.
Ví dụ kiểm tra độ dài của chuỗi: “Hello” sử dụng hàm len()
Kết quả:
5 |
3.3 Kiểm tra chuỗi con có tồn tại
Để kiểm tra xem một cụm từ (chuỗi con) hoặc ký tự nhất định có trong một chuỗi hay không, chúng ta có thể sử dụng từ khóa in
Ví dụ kiểm tra ký tự: “H” có tồn tại trong chuỗi “Hello” hay không như sau:
Kết quả:
True |
Kết quả:
True |
Để kiểm tra xem một cụm từ (chuỗi con) hoặc ký tự nào đó KHÔNG có trong một chuỗi hay không, chúng ta có thể sử dụng từ khóa not in
Kết quả:
False |
Ví dụ tiếp theo, kiểm tra chuỗi con “abc” có KHÔNG nằm trong chuỗi “tailieutxd.com” hay không như sau:
Kết quả:
True |
4. Một số ký tự điều khiển trong Python
Các ký tự điều khiển được sử dụng để điều hướng một chuỗi trong Python, các ký tự điều khiển có thể là tăng độ dài khoảng cách của chuỗi, xuống dòng cho một chuỗi, ngắt câu cho chuỗi….
Dưới đây là bảng các ký tự điều khiển cho chuỗi trong Python
Ký tự | Mô tả |
\’ | Sử dụng hiển thị dấu nháy đơn trong chuỗi |
\\ | Sử dụng dấu \ trong chuỗi |
\n | Xuống dòng mới cho chuỗi |
\r | Xuống dòng cho mới cho một từ |
\t | Cách ra một khoảng tab |
\b | Xóa bỏ khoảng cách giữa hai từ |
Ví dụ cách sử dụng các ký tự điều khiển ở bảng trên như sau:
Kết quả:
‘Xin’ Chao Xin\Chao Xin Chao Day la tailieutxd.com Xin Chao Xin Chao XinChao |
5. Một số hàm xử lý chuỗi trong Python
5.1. Phương thức upper()
Phương thức upper() được sử dụng để viết hoa toàn bộ chuỗi.
Ví dụ sử dụng phương thức upper() để viết hoa toàn bộ chuỗi: “xin chao” như sau:
# Khai bao bien va gan gia tri
a = “xin chao”
# Viet HOA cac ky tu va hien thi
print(a.upper())
|
Kết quả:
XIN CHAO |
5.2. Phương thức lower()
Phương thức lower() được sử dụng để viết thường toàn bộ chuỗi.
Ví dụ sử dụng phương thức lower() để viết thường toàn bộ chuỗi: “Xin Chao” như sau:
# Khai bao bien va gan gia tri
a = “Xin Chao”
# Viet thuong cac ky tu va hien thi
print(a.lower())
|
xin chao |
5.3. Phương thức strip()
Phương thức strip() được sử dụng để loại bỏ những khoảng trắng có trong đầu hoặc cuối chuỗi.
Ví dụ sử dụng phương thức strip() để loại bỏ khoảng trắng ở đầu và cuối chuỗi: ” Xin Chao “ như sau:
# Khai bao bien va gan gia tri
a = ” Xin Chao “
# Loai bo khoang trang o dau va cuoi chuoi
print(a.strip())
|
Kết quả:
Xin Chao |
Phương thức replace() được sử dụng để thay thế một chuỗi bằng một chuỗi khác, phương thức này cũng có thể thay thế một ký tự thành ký tự khác:
Ví dụ sử dụng phương thức replace() thay thế chuỗi “Chao” trong chuỗi gốc: “Xin Chao” bằng chuỗi mới là: “Loi” như sau:
# Khai bao bien va gan gia tri
a = “Xin Chao”
# Thay the chuoi “Chao” bang chuoi “Loi”
print(a.replace(“Chao”, “Loi”))
|
Kết quả:
Xin Loi |
Ví dụ tiếp theo sử dụng phương thức replace() để thay thế ký tự như sau:
# Khai bao bien va gan gia tri
a = ” Xin Chao “
# Thay the ky tu “X” bang “S”
print(a.replace(“X”, “S”))
|
Kết quả:
Sin Chao |
5.5. Phương thức split()
Phương thức split() được sử dụng để cắt ra một chuỗi dựa trên một ký tự phân tách được chỉ định.
Ví dụ sử dụng phương thức split() để cắt ra các chuỗi con trong một chuỗi gốc: “Xin, Chao” việc cắt chuỗi dựa vào ký tự phân tách là dấu phẩy “,” như sau:
# Khai bao bien va gan gia tri
a = “Xin, Chao”
# Cat chuoi dua vao dau phay “,”
print(a.split(“,”))
|
Kết quả:
[‘Xin’, ‘ Chao’] |
Chú ý: Kết quả trả về sẽ mang kiểu list với các phần tử là các chuỗi được cắt ra.
5.6 Hàm join():
Hàm join() kết hợp các phần tử của một danh sách thành một chuỗi, sử dụng một ký tự nối được chỉ định.
list_of_words = [‘Hello’, ‘World!’]
joined_string = “, “.join(list_of_words) print(joined_string) # Output: Hello, World! |
5.7 find() và index():
Cả hai hàm này đều được sử dụng để tìm kiếm một chuỗi con trong chuỗi gốc. Hàm find() trả về chỉ mục đầu tiên của chuỗi con được tìm thấy, trong khi hàm index() cũng trả về chỉ mục đầu tiên của chuỗi con, nhưng nếu không tìm thấy, nó sẽ gây ra một ngoại lệ ValueError.
string = “Hello, World!”
index = string.find(“World”)
print(index) # Output: 7
index = string.index(“World”)
print(index) # Output: 7
|
5.8 count():
Hàm count() đếm số lần xuất hiện của một chuỗi con trong chuỗi gốc.
string = “Hello, World!” count = string.count(“o”) print(count) # Output: 2 |
5.9 startswith() và endswith():
Cả hai hàm này được sử dụng để kiểm tra xem một chuỗi có bắt đầu hoặc kết thúc bằng một chuỗi con cụ thể hay không. Hàm startswith() trả về True nếu chuỗi bắt đầu bằng chuỗi con, và hàm endswith() trả về True nếu chuỗi kết thúc bằng chuỗi con.
string = “Hello, World!” startswith = string.startswith(“Hello”) endswith = string.endswith(“World!”) print(startswith) # Output: True print(endswith) # Output: True |
5.10 isdigit() và isalpha():
Cả hai hàm này được sử dụng để kiểm tra xem một chuỗi có chỉ chứa chữ số (isdigit()) hoặc chỉ chứa chữ cái (isalpha()) hay không.
string1 = “12345” string2 = “Hello” isdigit1 = string1.isdigit() isdigit2 = string2.isdigit() isalpha1 = string1.isalpha() isalpha2 = string2.isalpha() print(isdigit1) # Output: True print(isdigit2) # Output: False print(isalpha1) # Output: False print(isalpha2) # Output: True |