Tạo chuỗi với các giá trị được định dạng trong python

Tạo chuỗi với các giá trị được định dạng trong python

Tạo chuỗi với các giá trị được định dạng trong python

Một trong những khả năng cơ bản khi xử lý việc tạo các chuổi và văn bản là khả năng định dạng đúng các giá trị thành các chuỗi có cấu trúc. Python thông minh trong việc hiển thị các giá trị mặc định, chẳng hạn như hiển thị đúng một số, nhưng còn có rất nhiều tùy chọn khác để xem xét.

Chúng ta sẽ thảo luận về một số tùy chọn phổ biến khi tạo văn bản được định dạng bằng cách sử dụng ví dụ về việc tạo bảng.

Bắt đầu

Công cụ chính để định dạng chuỗi trong Python là phương thức format. Nó hoạt động với cú pháp sau:

result = template.format(*parameters)

Trong đó, template là một chuỗi được viết theo cú pháp được định nghĩa trước để kết xuất giá trị các biến. Lấy ví dụ

>>> 'Put the value of the string here: {}'.format('STRING')
"Put the value of the string here: STRING"
>>> 'It can be any type ({}) and more than one ({})'.format(1.23, 'STRING')
"It can be any type (1.23) and more than one (STRING)"
>> 'Specify the order: {1}, {0}'.format('first', 'second')
'Specify the order: second, first'
>>> 'Or name parameters: {first}, {second}'.format(second='SECOND', first='FIRST')
'Or name parameters: FIRST, SECOND'

Các ví dụ trên chiếm khoảng 95% trường hợp sử dụng để định dạng chuỗi. Tuy nhiên, trong trường hợp bạn muốn căn chỉnh các giá trị hay tạo các bảng giá trị, python cung cấp cho chúng ta nhiều tùy chọn hơn.

Thực hiện thế nào

1. Viết 1 đoạn  mã sau và lưu lại với tên nào đó bạn thích, ví dụ format_string.py

# INPUT DATA
data = [
(1000, 10),
(2000, 17),
(2500, 170),
(2500, -170),
]
# Print the header for reference
print('REVENUE | PROFIT | PERCENT')
# This template aligns and displays the data in the proper format
TEMPLATE = '{revenue:>7,} | {profit:>+6} | {percent:>7.2%}'
# Print the data rows
for revenue, profit in data:
  row = TEMPLATE.format(revenue=revenue, profit=profit, percent=profit / revenue)
print(row)

Chạy và xem xét kết quả

Nó hoạt động như thế nào ?

Hằng số TEMPLATE xác định ba cột, mỗi cột được xác định bởi một tham số có tên là revenue, profit và percent. Sau đó, ta lấy TEMPLATE này để gọi phương thức format.

Sau tên của tham số, có một dấu hai chấm phân tách định nghĩa định dạng. Lưu ý rằng mọi thứ đều nằm bên trong dấu ngoặc nhọn. Trong tất cả các cột, định dạng chiều rộng thành bảy ký tự, để đảm bảo tất cả các cột có cùng chiều rộng và căn chỉnh các giá trị về bên phải bằng ký hiệu >.

  • revenue thêm dấu phân tách hàng nghìn bằng ký hiệu dấu phẩy.
  • profit thêm dấu + cho các giá trị dương. Dấu – cho các giá trị âm được thêm tự động.
  • percent hiển thị giá trị phần trăm với độ chính xác là hai chữ số thập phân. Điều này được thực hiện thông qua .2 (độ chính xác) và thêm ký hiệu % để hiển thị dấu  phần trăm.

Leave a Reply