Xử lý văn bản là công việc thường xuyên trong các ứng dụng hiện đại, văn bản có ở khắp mọi nơi, do vậy nắm vững kiến thức về kiểu chuỗi sẽ giúp bạn giải quyết được các vấn đề.
Contents
1. Kiểu dữ liệu chuỗi
1.1 Chuỗi đơn giản
Chuỗi ký tự (string) là một kiểu dữ liệu rất phổ biến trong Python, từ một từ cho đến một đoạn văn bản, đều là kiểu chuỗi. Trong Python, chuỗi được đánh dấu bằng dấu nháy đơn ‘
hoặc nháy kép “
, tuy nhiên nếu bắt đầu bằng dấu nào thì phải kết thúc bằng dấu đấy. Ví dụ:
Bạn đang xem: Kiểu dữ liệu chuỗi và định dạng chuỗi trong Python
first_name = "Nguyễn"
middle_name = 'Văn'
last_name = 'A' # Lỗi khi thực hiện do bắt đầu và kết thúc chuỗi khác nhau.
Khi muốn đưa các dấu nháy đơn và nháy kép vào trong chuỗi có hai cách:
Cách 1: Đóng mở chuỗi bằng dấu khác với loại dấu nháy cần đưa vào chuỗi.
speech = 'Một chuyên gia nói: "Python hiện là ngôn ngữ được nhiều người tìm hiểu nhất hiện nay", phát biểu tại Ngày hội Trí tuệ nhân tạo 2019'
sentence = "It 's my car"
Cách 2: Sử dụng dấu gạch chéo , dấu này giúp Python nhận biết là phải bỏ qua ngữ nghĩa của ký tự ngay sau.
example = "Trong một câu có thể có nhiều dấu " và dấu ' với số lượng tùy ý"
Tuyển dụng lập trình python lương cao cho bạn
1.2 Chuỗi ký tự nhiều dòng
Python hỗ trợ kiểu dữ liệu chuỗi có thể chứa đoạn văn với nhiều dòng bằng cách bắt đầu và kết thúc chuỗi bằng 3 dấu nháy kép """
. Ví dụ:
chuoi_nhieu_dong = """ Một chuyên gia phát biểu:
- "Python là ngôn ngữ được yêu thích nhất hiện nay".
Chuyên gia này phát biểu tại Ngày hội Trí tuệ nhân tạo 2019. """
Có thể áp dụng chuỗi ký tự nhiều dòng khi comment code, trong Python khi ghi chú thông tin chúng ta sử dụng dấu #
ở đầu câu ghi chú, với ghi chú nhiều dòng chúng ta cần nhiều dấu #
ở trước các dòng.
# Khóa học Python từ A đến Z
# Bài số 3: Kiểu dữ liệu chuỗi.
# Ví dụ 1: In ra chuỗi "Hello world"
loi_chao = "Hello world"
print(loi_chao)
Nếu đoạn ghi chú dài, việc sử dụng các dấu #
là rất bất cập, chúng ta có thể sử dụng chuỗi đa dòng để ghi chú như sau:
"""
Khóa học Python từ A đến Z
Bài số 3: Kiểu dữ liệu chuỗi.
Ví dụ 1: In ra chuỗi "Hello world"
"""
loi_chao = "Hello world"
print(loi_chao)
READ MORE:
2. Thao tác với các biến kiểu chuỗi
2.1 Nối chuỗi
Chúng ta có thể nối các chuỗi với nhau thành một chuỗi thông qua toán tử +
. Ví dụ:
first_name = "Nguyễn"
middle_name = 'Văn'
last_name = "A"
full_name = first_name + " " + middle_name + " " + last_name
print(full_name) # Kết quả là Nguyễn Văn A
Chú ý, toán tử nối chuỗi chỉ thực hiện được khi các thành phần là chuỗi, ví dụ dưới đây sẽ gây ra lỗi:
age = 35
print("Tuổi của bạn là:" + age)
Xem thêm : Hướng dẫn sử dụng đồng hồ đo điện vạn năng chi tiết
Do biến age
là kiểu số, toán tử nối chuỗi sẽ bị lỗi, nếu muốn nối chuỗi bạn phải chuyển đổi kiểu số sang kiểu chuỗi với hàm str()
.
age = 35
print("Tuổi của bạn là:" + str(age))
2.2 Độ dài của chuỗi
Đôi khi chúng ta muốn xác định độ dài của một chuỗi để có thể cắt bớt hoặc xử lý cho phù hợp. Ví dụ, tiêu đề của một bài viết là dưới 70 ký tự khi đó chúng ta cần xác định độ dài tiêu đề bài viết. Trong Python, sử dụng hàm len()
để xác định độ dài chuỗi.
title = "Kiểu dữ liệu chuỗi ký tự và định dạng chuỗi trong Python"
print(len(title)) # Kết quả là 56
2.3 Một số phương thức thao tác chuỗi có sẵn
Mọi chuỗi trong Python đều là đối tượng str
, do đó bản thân nó có rất nhiều các hàm nội tại dùng để thao tác với nội dung của chuỗi. Cú pháp sử dụng các hàm này như sau:
variable_string.methodname(params)
Có rất nhiều các hàm nội tại, chúng ta có thể tham khảo một số các hàm hay dùng như sau:
isalpha
: trả vềtrue
nếu chuỗi chỉ chứa chữ cái A-Z và a-z.isnumeric
: trả vềtrue
nếu chuỗi chứa chỉ các chữ số 0-9.lower
: chuyển tất cả các chữ cái trong chuỗi thành chữ thường.upper
: chuyển tất cả các chữ cái trong chuỗi thành chữ hoa.find(x, [y.z])
: trả về số lần chuỗix
được tìm thấy trong chuỗi gốc, tùy chọn[y.z]
giới hạn vị trí tìm kiếm, trả về -1 nếu không tìm thấy.replace(x, y)
: thay thế chuỗix
thành chuỗiy
trong chuỗi gốc.
Ví dụ:
my_name = "Nguyen Van A"
print(my_name.isalpha) # trả về true
print(my_name.isnumeric) # trả về false
print(my_name.lower) # trả về nguyen van a
print(my_name.upper) # trả về NGUYEN VAN A
print(my_name.find("an")) # trả về 1
print(my_name.replace("Nguyen", "Tran")) # trả về Tran Van A
Tuyển dụng python Hồ Chí Minh mới nhất trên TopDev
READ MORE:
3. Định dạng chuỗi
3.1 Định dạng với F-string
Định dạng f-string khá đơn giản khi sử dụng, tất cả những gì cần là một chữ f
đứng trước một chuỗi thì tất cả các biểu thức (nằm trong cặp đóng mở ngoặc nhọn) sẽ được thực thi và chuyển đổi thành chuỗi và thay thế vào biểu thức đó. Trong ví dụ ở phần trên:
age = 35
print("Tuổi của bạn là:" + str(age))
Chúng ta có thể sử dụng định dạng f-string như sau:
age = 35
print(f"Tuổi của bạn là: {age}")
Biểu thức trong {age}
sẽ được tính toán và chuyển đổi thành chuỗi và thay thế lại vị trí cũ, do đó kết quả nhận được là “Tuổi của bạn là: 35”. Một ví dụ khác sẽ giúp bạn hiểu rõ hơn:
don_gia = 25000
chiet_khau = 0.25
so_luong = 3
print(f"Bạn mua {so_luong} đĩa cơm hết tổng cộng: {don_gia * so_luong} VND") # Kết quả in ra: Bạn mua 3 đĩa cơm hết tổng cộng: 75000 VND
print(f"Bạn mua {so_luong} đĩa cơm hết tổng cộng: {don_gia * so_luong:,} VND") # Kết quả in ra: Bạn mua 3 đĩa cơm hết tổng cộng: 75,000 VND
print(f"Bạn được chiết khấu {chiet_khau:.2%}") # Kết quả in ra: Bạn được chiết khấu 25%
F-string cũng cho phép chúng ta định dạng số với các dấu phân cách hàng nghìn (,
) hoặc định dạng số theo phần trăm (%.2
). Một điểm chú ý là f-string nếu sử dụng cho biến số sẽ không thay đổi giá trị khi các thành phần của biến số thay đổi.
don_gia = 25000
so_luong = 3
thong_bao = f"Bạn mua {so_luong} đĩa cơm hết tổng cộng: {don_gia * so_luong} VND"
print(thong_bao) # Kết quả in ra: Bạn mua 3 đĩa cơm hết tổng cộng: 75000 VND
don_gia = 35000
so_luong = 5
print(thong_bao) # Kết quả in ra: Bạn mua 3 đĩa cơm hết tổng cộng: 75000 VND
Bạn thấy đấy, khi thay đổi số lượng và đơn giá nhưng thông báo in ra vẫn giữ nguyên.
3.2 Định dạng chuỗi với phương thức format()
Bản thân biến dạng chuỗi là một đối tượng str
có một hàm nội tại là format()
dùng để định dạng nội dung. Ví dụ dưới đây sử dụng hàm format()
này để định dạng chuỗi.
ten_nguoi_dung = "Nguyen Van A"
cau_chao = "Chao ban {}!"
cau_chao_a = cau_chao.format(ten_nguoi_dung)
print(cau_chao_a)
Nếu bạn muốn có nhiều biến được đưa vào trong nội dung chuỗi, chúng ta cần phải đặt tên cho các vị trí này. Ví dụ:
don_gia = 25000
so_luong = 3
tong_tien = don_gia * so_luong
mau_thong_bao = "Bạn mua {so_luong} đĩa cơm hết tổng cộng: {tong_tien} VND"
thong_bao = mau_thong_bao.format(so_luong=so_luong, tong_tien=tong_tien)
print(thong_bao)
don_gia = 35000
so_luong = 5
tong_tien = don_gia * so_luong
mau_thong_bao = "Bạn mua {so_luong} đĩa cơm hết tổng cộng: {tong_tien} VND"
thong_bao = mau_thong_bao.format(so_luong=so_luong, tong_tien=tong_tien)
print(thong_bao)
Kết quả chúng ta đạt được như mong muốn.
Trong một số ví dụ, tôi có sử dụng Jupyter Notebook chạy trên máy cá nhân, nếu bạn muốn tìm hiểu về phần mềm này có thể tham khảo bài viết “Jupyter Notebook – công cụ không thể thiếu khi học Python”.
Bài viết được sự cho phép của tác giả Kien Dang Chung.
Xem thêm việc làm công nghệ thông tin hấp dẫn trên TopDev
Nguồn: https://cite.edu.vn
Danh mục: Học tập