Chuỗi (string) là một dãy ký tự liên tiếp nhau. Trong Python, bất kỳ nội dung nào được đặt trong dấu nháy đơn ('
) hoặc dấu nháy kép ("
) đều được coi là chuỗi. Python không có kiểu dữ liệu ký tự riêng biệt, vì vậy một ký tự đơn cũng được coi là một chuỗi có độ dài bằng 1.

Ví dụ:
s = "FIT" print(s[1]) # Truy cập ký tự thứ 2 s1 = s + s[0] # Cập nhật chuỗi print(s1)
Kết quả
f FITF
Trong ví dụ trên, biến s
chứa giá trị "FIT"
và được định nghĩa là một chuỗi.
1. Tạo chuỗi trong Python
Trong Python, chuỗi có thể được tạo bằng dấu nháy đơn ('
) hoặc dấu nháy kép ("
).
s1 = 'FIT' s2 = "FIT" print(s1) print(s2)
Kết quả
FIT FIT
Chuỗi nhiều dòng
Nếu cần tạo một chuỗi trải dài trên nhiều dòng, ta sử dụng dấu nháy ba ('''
hoặc """
).
s = """Học lập trình Python tại FIT TNUT""" print(s)
Kết quả
Học lập trình Python tại FIT TNUT
2. Truy cập ký tự trong chuỗi
Chuỗi trong Python là một dãy ký tự, vì vậy ta có thể truy xuất từng ký tự bằng cách sử dụng chỉ mục (index). Chỉ mục bắt đầu từ 0
tính từ trái sang phải và -1
tính từ phải sang trái.
s = "Python" print(s[0]) # Truy cập ký tự đầu tiên print(s[-1]) # Truy cập ký tự cuối cùng
Kết quả
P n
Cắt chuỗi (String Slicing)
Slicing giúp lấy ra một phần của chuỗi bằng cách chỉ định vị trí bắt đầu và kết thúc.
s = "Python" print(s[1:4]) # Trích xuất ký tự từ vị trí 1 đến 3 print(s[:3]) # Trích xuất từ đầu đến vị trí 2 print(s[3:]) # Trích xuất từ vị trí 3 đến hết chuỗi print(s[::-1]) # Đảo ngược chuỗi
Kết quả
yth Pyt hon nohtyP
3. Tính bất biến của chuỗi trong Python
Chuỗi trong Python là bất biến (immutable), nghĩa là không thể thay đổi nội dung sau khi đã tạo.
s = "Python" s[0] = "J" # Gây lỗi vì chuỗi không thể thay đổi trực tiếp
Lỗi:
TypeError: 'str' object does not support item assignment
Thay vào đó, chúng ta có thể tạo một chuỗi mới từ chuỗi cũ:
s = "Python" s = "J" + s[1:] # Thay "P" thành "J" print(s)
Kết quả
Jython
4. Xóa chuỗi trong Python
Python không cho phép xóa một ký tự trong chuỗi, nhưng có thể xóa toàn bộ chuỗi bằng từ khóa del
.
s = "Python" del s # Xóa biến s
Sau khi xóa, nếu cố gắng truy xuất s
, chương trình sẽ báo lỗi NameError
.
5. Cập nhật chuỗi
Vì chuỗi là bất biến, nên nếu muốn thay đổi nội dung chuỗi, ta cần tạo một chuỗi mới.
s = "hello python" s1 = "H" + s[1:] # Thay ký tự đầu thành chữ hoa s2 = s.replace("python", "GeeksforGeeks") # Thay thế chuỗi con print(s1) print(s2)
Kết quả
Hello python hello GeeksforGeeks
6. Các phương thức xử lý chuỗi phổ biến
6.1. Lấy độ dài chuỗi
s = "Python" print(len(s))
Kết quả:
6
6.2. Chuyển đổi chữ hoa – chữ thường
s = "Hello World" print(s.upper()) # Chuyển thành chữ in hoa print(s.lower()) # Chuyển thành chữ thường
Kết quả:
HELLO WORLD hello world
6.3. Loại bỏ khoảng trắng
s = " Python " print(s.strip()) # Loại bỏ khoảng trắng đầu và cuối
Kết quả:
Python
6.4. Thay thế chuỗi con
s = "Python is fun" print(s.replace("fun", "awesome"))
Kết quả:
Python is awesome
7. Nối và nhân chuỗi
7.1. Nối chuỗi
s1 = "Hello" s2 = "World" s3 = s1 + " " + s2 print(s3)
Kết quả:
Hello World
7.2. Nhân chuỗi
s = "Hello " print(s * 3)
Kết quả:
Hello Hello Hello
8. Định dạng chuỗi
8.1. Sử dụng f-strings
name = "Alice" age = 22 print(f"Tên: {name}, Tuổi: {age}")
Kết quả:
Tên: Alice, Tuổi: 22
8.2. Sử dụng format()
s = "Tôi tên là {} và tôi {} tuổi.".format("Alice", 22) print(s)
Kết quả:
Tôi tên là Alice và tôi 22 tuổi.
9. Kiểm tra chuỗi con với in
s = "Python is fun" print("Python" in s) # Kiểm tra chuỗi con print("Java" in s)
Kết quả:
True False
Tổng kết
- Chuỗi là một dãy ký tự có thể được tạo bằng dấu nháy đơn hoặc đôi.
- Chúng có thể truy cập bằng chỉ mục, cắt chuỗi bằng slicing, và sử dụng nhiều phương thức hữu ích.
- Chuỗi trong Python là bất biến, nhưng có thể tạo chuỗi mới dựa trên chuỗi cũ.
- Python hỗ trợ nhiều cách để xử lý và định dạng chuỗi một cách linh hoạt.