Hot deal hosting vps vietnix tháng 2Hot deal hosting vps vietnix tháng 2
PHP
Python

Trang chủ

Cách định dạng chuỗi trong Python

Ngôn ngữ Python là một ngôn ngữ lập trình đa mục đích, nổi tiếng với cú pháp dễ đọc, dễ học và tính ứng dụng cao. Trong lĩnh vực phát triển web, Python thường được sử dụng thông qua các framework như Django và Flask để xây dựng các ứng dụng web mạnh mẽ, bảo mật và dễ mở rộng. Trong chuyên mục này, Vietnix không chỉ cung cấp kiến thức nền tảng về ngôn ngữ Python mà còn hướng dẫn chi tiết cách xây dựng các ứng dụng web thực tế, sử dụng các framework phổ biến và áp dụng các kỹ thuật tiên tiến. Vietnix cam kết liên tục cập nhật những bài viết mới nhất về các tính năng mới của Python, các thư viện hỗ trợ hữu ích và những phương pháp tốt nhất, giúp bạn khai thác tối đa sức mạnh của Python và hoàn thiện kỹ năng lập trình web của mình.
html
CSS
javascript
sql
python
php
c
c++
bootstrap
react
mysql
reactjs
vuejs
Javascript Tutorials
11/02/2025
8 phút đọc
Theo dõi Vietnix trên

Cách định dạng chuỗi trong Python

Trong lập trình Python, thao tác với chuỗi là một phần không thể thiếu. Một trong những thao tác cơ bản và thường xuyên được sử dụng là nối chuỗi. Bài viết này sẽ giới thiệu khái niệm nối chuỗi trong Python, cùng một số phương pháp thực hiện đơn giản, dễ áp dụng vào dự án của bạn.

Các điểm chính

Khi đọc xong bài viết, bạn sẽ:

  • Hiểu rõ khái niệm định dạng chuỗi trong Python: Bạn sẽ nắm được định nghĩa cơ bản về định dạng chuỗi và lý do tại sao nó quan trọng trong lập trình.
  • Nắm vững 3 phương pháp định dạng chuỗi phổ biến nhất trong Python: Bạn sẽ học được cách sử dụng toán tử %, phương thức .format() và f-string (formatted string literals).
  • So sánh được ưu và nhược điểm của từng phương pháp: Bạn sẽ biết khi nào nên sử dụng phương pháp nào để đạt hiệu quả tốt nhất.
  • Biết cách sử dụng class template để định dạng chuỗi nâng cao: Bạn sẽ khám phá một phương pháp linh hoạt và mạnh mẽ hơn, phù hợp cho những tình huống phức tạp.
  • Ứng dụng kiến thức vào thực tế: Bạn có thể áp dụng các kỹ năng này để tạo ra những chuỗi thông báo thân thiện, báo cáo dữ liệu dễ đọc và các chương trình tương tác người dùng hiệu quả.

Định dạng chuỗi trong Python là gì?

Định dạng chuỗi (String formatting) trong Python là quá trình tạo ra một chuỗi mới bằng cách chèn giá trị của các biểu thức (thường là giá trị số hoặc biến) vào trong một chuỗi đã có sẵn. Toán tử nối chuỗi thông thường của Python (+) không chấp nhận toán hạng không phải là chuỗi. Do đó, Python cung cấp các kỹ thuật định dạng chuỗi sau:

  • Sử dụng toán tử %
  • Sử dụng phương thức format() của lớp str
  • Sử dụng f-string (chuỗi f)
  • Sử dụng lớp String Template
Định dạng chuỗi Python là là quá trình tạo ra một chuỗi mới từ chuỗi ban đầu
Định dạng chuỗi Python là là quá trình tạo ra một chuỗi mới từ chuỗi ban đầu

Sử dụng toán tử  % để định dạng chuỗi trong Python

Toán tử % (modulo) thường được gọi là toán tử định dạng chuỗi. Toán tử này nhận vào một chuỗi định dạng cùng với một tập các biến, kết hợp lại để tạo ra một chuỗi mới chứa các giá trị của biến được định dạng theo cách đã chỉ định.

Ví dụ để chèn một chuỗi vào một chuỗi định dạng bằng cách sử dụng toán tử %, chúng ta sử dụng %s như trong ví dụ dưới đây:

ten_quan = "Cơm Tấm Sài Gòn"
print("Chào mừng đến với %s!" % ten_quan)

Kết quả sẽ như sau:

Chào mừng đến với Cơm Tấm Sài Gòn!

Giải thích:

  • ten_quan = "Cơm Tấm Sài Gòn": Khởi tạo biến ten_quan.
  • print("Chào mừng đến với %s!" % ten_quan): Sử dụng toán tử %.
  • Chuỗi "Chào mừng đến với %s!" là chuỗi định dạng. Trong chuỗi này, %s là một “ký tự giữ chỗ”. Toán tử % ở giữa sẽ thay thế %s bằng giá trị của biến ten_quan.

Định dạng chuỗi bằng phương thức format()

format() là một phương thức được tích hợp sẵn trong lớp str (chuỗi) của Python. Phương thức format() hoạt động bằng cách định nghĩa các “vị trí giữ chỗ” (placeholders) bên trong một chuỗi, sử dụng dấu ngoặc nhọn {}. Sau đó, những vị trí này được thay thế bằng các giá trị được truyền vào làm đối số của phương thức.

Ví dụ:

loi_chao = "Xin chào, {}! Hôm nay trời {}."
print(loi_chao.format("Lan", "đẹp"))

Khi chạy đoạn mã trên, ta sẽ thấy kết quả sau:

Xin chào, Lan! Hôm nay trời đẹp.

Giải thích:

  • loi_chao = "Xin chào, {}! Hôm nay trời {}.": Khởi tạo một chuỗi loi_chao có chứa hai vị trí giữ chỗ {}.
  • print(loi_chao.format("Lan", "đẹp")): Gọi phương thức format() trên chuỗi loi_chao.
  • "Lan": được truyền vào để thay thế cho vị trí {} đầu tiên.
  • "đẹp": được truyền vào để thay thế cho vị trí {} thứ hai.
  • Kết quả sau khi thay thế và in ra là: Xin chào, Lan! Hôm nay trời đẹp.

Nối chuỗi trong Python với f-string

F-string, còn được gọi là “chuỗi định dạng”, được sử dụng để nhúng các biểu thức vào bên trong chuỗi ký tự. Chữ “f” trong f-string là viết tắt của từ “formatted” (định dạng) và việc thêm “f” vào trước một chuỗi sẽ tạo ra một f-string. Dấu ngoặc nhọn {} bên trong chuỗi sẽ đóng vai trò là “vùng giữ chỗ” (placeholder) để chứa các biến, biểu thức, hoặc lời gọi hàm.

Để thấy rõ cách f-string hoạt động với các biểu thức, chúng ta hãy xét ví dụ tính tiền mua hàng sau:

gia_but_bi = 2500  # Giá một chiếc bút bi
so_luong_but = 3
gia_quyen_vo = 8000 # giá một quyển vở
tong_tien = f'Tổng tiền mua {so_luong_but} bút bi và 1 quyển vở là: {gia_but_bi * so_luong_but + gia_quyen_vo} đồng'
print(tong_tien)

Khi chạy đoạn mã trên, ta sẽ nhận được kết quả là:

Tổng tiền mua 3 bút bi và 1 quyển vở là: 15500 đồng

Giải thích:

  • gia_but_bi, so_luong_butgia_quyen_vo: Đây là các biến lưu trữ giá và số lượng sản phẩm.
  • f'...': Đây là cách tạo một f-string. Chữ f đặt trước dấu nháy đơn (hoặc nháy kép) để báo cho Python biết đây là một f-string.
  • {so_luong_but}{gia_but_bi * so_luong_but + gia_quyen_vo}: Đây là các “vùng giữ chỗ” bên trong f-string.
  • {so_luong_but}: sẽ được thay thế bằng giá trị của biến so_luong_but (tức là 3).
  • {gia_but_bi * so_luong_but + gia_quyen_vo}: sẽ được thay thế bằng kết quả của biểu thức gia_but_bi * so_luong_but + gia_quyen_vo. Biểu thức này sẽ tính tổng tiền dựa trên giá và số lượng.
  • print(tong_tien): Dòng lệnh này in ra giá trị của biến tong_tien.

Sử dụng class template để nối chuỗi trong Python

Lớp Template thuộc module string cung cấp một phương thức định dạng chuỗi bằng cách sử dụng các “placeholder” (chỗ dành sẵn). Các placeholder này được xác định bằng một dấu đô la ($) theo sau là một định danh (tên).

Ví dụ:

from string import Template

# Định nghĩa chuỗi template
mau_tin_nhan = "Xin chào $ten, chúc mừng bạn đã trúng thưởng $phan_thuong!"

# Tạo đối tượng Template
doi_tuong_template = Template(mau_tin_nhan)

# Cung cấp giá trị cho các placeholder
tin_nhan_moi = doi_tuong_template.substitute(ten="An", phan_thuong="một chiếc xe máy")
print(tin_nhan_moi)

tin_nhan_moi_2 = doi_tuong_template.substitute(ten= "Bình", phan_thuong="một chuyến du lịch Phú Quốc")
print(tin_nhan_moi_2)

Khi chạy đoạn mã này, kết quả sẽ như sau:

Xin chào An, chúc mừng bạn đã trúng thưởng một chiếc xe máy!
Xin chào Bình, chúc mừng bạn đã trúng thưởng một chuyến du lịch Phú Quốc!

Giải Thích:

  • from string import Template: Dòng này nhập (import) lớp Template từ module string.
  • mau_tin_nhan = "Xin chào $ten, chúc mừng bạn đã trúng thưởng $phan_thuong!": Định nghĩa một chuỗi mau_tin_nhan. Trong chuỗi này, $ten$phan_thuong là các placeholder.
  • doi_tuong_template = Template(mau_tin_nhan): Tạo một đối tượng Template từ chuỗi mau_tin_nhan. Đối tượng này sẽ “nhớ” cấu trúc của chuỗi và các placeholder cần điền.
  • tin_nhan_moi = doi_tuong_template.substitute(ten="An", phan_thuong="một chiếc xe máy"): Sử dụng phương thức substitute() của đối tượng Template để điền giá trị vào các placeholder. Cụ thể, ten được thay bằng “An”, và phan_thuong được thay bằng “một chiếc xe máy”. Kết quả được gán cho biến tin_nhan_moi.
  • tin_nhan_moi_2 = ...: Tương tự tạo thêm một tin nhắn với các giá trị khác.

Lời kết

Như vậy, chúng ta đã cùng tìm hiểu chi tiết về các cách định dạng chuỗi trong Python, từ sử dụng toán tử %, phương thức format(), f-string cho đến class template. Mỗi phương pháp đều có ưu điểm riêng, giúp bạn linh hoạt trong việc xử lý và hiển thị chuỗi. Hy vọng những kiến thức này sẽ hữu ích, giúp bạn tối ưu hóa code và lập trình hiệu quả hơn.

Mọi người cũng đọc

Cao Lê Viết Tiến

PHP Leader
tại
Vietnix

Kết nối với mình qua

Icon Quote
Icon Quote

Học lập trình online cùng vietnix

Học lập trình online cùng Vietnix

PHPXem thêmThu gọn