Các phương thức của chuỗi

Bài 4/5 · khoảng 8 phút đọc

Mỗi kiểu dữ liệu có sẵn những phương thức (method) — hàm gắn liền với giá trị, gọi bằng dấu chấm: gia_tri.ten_phuong_thuc().

Phương thức hay dùng với chuỗi

Phương thứcLàm gìVí dụ → Kết quả
upper()chuyển thành chữ HOA"abc".upper() → "ABC"
lower()chuyển thành chữ thường"ABC".lower() → "abc"
strip()bỏ dấu cách hai đầu" hi ".strip() → "hi"
replace(a, b)thay a bằng b"mèo".replace("è", "e") → "meo"
find(x)vị trí đầu tiên của x (hoặc -1)"hello".find("l") → 2
count(x)đếm số lần x xuất hiện"banana".count("a") → 3
startswith(x)có bắt đầu bằng x?"Python".startswith("Py") → True
endswith(x)có kết thúc bằng x?"abc.txt".endswith(".txt") → True
Python
s = " Lập Trình Python "
print(s.upper())
print(s.lower())
print(s.strip())
print(s.replace("Python", "PyKid"))
print("banana".count("a"))
print("hello".find("l"))

Phương thức không sửa chuỗi gốc

Chuỗi bất biến nên phương thức trả về chuỗi mới; chuỗi gốc giữ nguyên:

Python
ten = "lan"
ten.upper()
print(ten)
ten = ten.upper()
print(ten)

Dòng ten.upper() đứng một mình không có tác dụng gì vì kết quả bị bỏ đi. Muốn giữ, phải gán lại.

Chuẩn hoá dữ liệu nhập

Người dùng có thể gõ " LAN ". Hãy làm sạch trước khi so sánh:

Python
cau_tra_loi = input("Bạn có đồng ý không? ").strip().lower()
if cau_tra_loi == "đồng ý":
print("Cảm ơn bạn!")
else:
print("Rất tiếc!")

Ghi nhớ: phương thức gọi bằng gia_tri.ten(). Chuỗi bất biến, nên phải gán kết quả vào biến. Có thể nối nhiều phương thức: .strip().lower().

Vì sao `ten.upper()` đứng một mình không làm `ten` đổi?

Vì chuỗi không thay đổi tại chỗ; upper() trả về chuỗi mới, và ta không lưu nó lại.

Các phương thức của chuỗi · Lý thuyết Python · PyKid