Python - String Formatting

String formatting trong Python là quá trình xây dựng một đại diện chuỗi một cách động bằng cách chèn giá trị của các biểu thức số vào một chuỗi đã tồn tại. Toán tử nối chuỗi của Python không chấp nhận một toán hạng không phải chuỗi. Do đó, Python cung cấp các kỹ thuật định dạng chuỗi sau đây −

  • Using % operator

  • Using format() method of str class

  • Using f-string

  • Using String Template class

Using % operator

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

Example

Để 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 −

name = "Tutorialspoint"
print("Welcome to %s!" % name)

Nó sẽ tạo ra output

Welcome to Tutorialspoint!

Using format() method

Đó là một phương thức tích hợp sẵn của lớp str . Phương thức format() hoạt động bằng cách định nghĩa các vị trí giữ chỗ trong một chuỗi sử dụng dấu ngoặc nhọn "{}". Các vị trí giữ chỗ này sau đó được thay thế bằng các giá trị được chỉ định trong các tham số của phương thức.

Example

Trong ví dụ dưới đây, chúng tôi đang sử dụng phương thức format() để chèn các giá trị vào một chuỗi một cách động.

str = "Welcome to {}"
print(str.format("Tutorialspoint"))

Khi chạy đoạn mã trên, nó sẽ tạo ra output

Welcome to Tutorialspoint

Using 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 bên trong chuỗi. Chữ "f" trong f-string đại diện cho định dạng, và việc thêm nó trước chuỗi sẽ tạo thành một f-string. Các dấu ngoặc nhọn "{}" bên trong chuỗi sẽ hoạt động như các vị trí giữ chỗ được điền bằng các biến, biểu thức hoặc các cuộc gọi hàm.

Example

Ví dụ dưới đây minh họa cách hoạt động của f-strings với các biểu thức.

item1_price = 2500
item2_price = 300
total = f'Total: {item1_price + item2_price}'
print(total)

Đầu ra của đoạn mã trên như sau −

Total: 2800

Using String Template class

Lớp String Template thuộc về mô-đun string và cung cấp một cách để định dạng chuỗi bằng cách sử dụng các vị trí giữ chỗ. Ở đây, các vị trí giữ chỗ được định nghĩa bằng một dấu đô la ($) theo sau là một định danh.

Example

Ví dụ sau đây cho thấy cách sử dụng lớp Template để định dạng chuỗi.

from string import Template

# Defining template string
str = "Hello and Welcome to $name !"

# Creating Template object
templateObj = Template(str)

# now provide values
new_str = templateObj.substitute(name="Tutorialspoint")
print(new_str)

Nó sẽ tạo ra output

Hello and Welcome to Tutorialspoint !