Python - Định dạng Output

Chào mừng, các bạn nhà lập trình đam mê! Hôm nay, chúng ta sẽ bơi lội vào thế giới thú vị của định dạng output Python. Là người dạy máy tính hàng xóm bạn, tôi đang ở đây để hướng dẫn bạn qua cuộc hành trình này, bước به bước. Đừng lo nếu bạn mới bắt đầu học lập trình – chúng ta sẽ bắt đầu từ những khái niệm cơ bản và làm việc lên từ đó. Vậy, hãy lấy ly đồ uống yêu thích của bạn, thoải mái và hãy cùng nhau bắt đầu cuộc phiêu lưu Python này!

Python - Output Formatting

Định dạng Output trong Python

Trước khi chúng ta nhảy vào chi tiết, hãy nói về tại sao việc định dạng output lại quan trọng. Hãy tưởng tượng bạn đang làm bánh mì – có lẽ nguyên liệu cũng quan trọng, nhưng cách bạn trình bày nó lại làm rất nhiều khác biệt! Đồng thời với lập trình. Mã của bạn có thể hoạt động hoàn hảo, nhưng việc trình bày output trong định dạng rõ ràng, dễ đọc có thể làm cho chương trình của bạn gần gũi người dùng hơn và chuyên nghiệp hơn.

Hàm In Cơ Bản

Hãy bắt đầu với cách đơn giản nhất để output trong Python – hàm print().

print("Hello, World!")

Kết quả sẽ là: Hello, World!

Đơn giản phải không? Nhưng điều gì nếu chúng ta muốn làm đẹp hơn? Đó là nơi định dạng đến!

Sử Dụng Toán Tử chuỗi Modulo (%)

Toán tử chuỗi modulo % là một trong những phương pháp định dạng cổ nhất trong Python. Nó như chiếc oto cổ của việc định dạng – một chút cổ điển, nhưng vẫn hoạt động!

name = "Alice"
age = 25
print("Tên tôi là %s và tôi đang %d tuổi." % (name, age))

Output: Tên tôi là Alice và tôi đang 25 tuổi.

Ở đây, %s là dấu chỗ cho chuỗi, và %d là cho số nguyên. Nó như để lại chỗ trống trong một câu và sau đó điền nó vào!

Sử Dụng Phương Thức format()

Phương thức format() như là người em trẻ hơn và tỏa sáng hơn của toán tử modulo. Nó linh hoạt hơn và dễ đọc hơn.

name = "Bob"
age = 30
print("Tên tôi là {} và tôi đang {} tuổi.".format(name, age))

Output: Tên tôi là Bob và tôi đang 30 tuổi.

Bạn cũng có thể sử dụng dấu chỗ có số thứ tự:

print("Con mèo trong mũ {0} nặng {2} cân.".format("cat", "hat", 5))

Output: Con mèo trong mũ cat nặng 5 cân.

Sử Dụng F-Chuỗi

F-chuỗi, được giới thiệu trong Python 3.6, là những người mới bước vào ngành. Chúng nhanh, dễ đọc và là sở thích cá nhân của tôi!

name = "Charlie"
age = 35
print(f"Tên tôi là {name} và tôi đang {age} tuổi.")

Output: Tên tôi là Charlie và tôi đang 35 tuổi.

F-chuỗi cho phép bạn đặt biểu thức trực tiếp trong dấu ngoặc móc:

x = 10
y = 20
print(f"Tổng của {x} và {y} là {x + y}")

Output: Tổng của 10 và 20 là 30

Quy Tắc Chuyển Đổi Định Dạng trong Python

Đôi khi, bạn cần chuyển đổi kiểu dữ liệu để định dạng. Python đã có sẵn!

pi = 3.14159
print(f"Pi đến hai chữ số thập phân: {pi:.2f}")

Output: Pi đến hai chữ số thập phân: 3.14

Dưới đây là bảng hữu ích về các specifier phổ biến:

Specifier Mô tả
d Số nguyên
f Thập phân
s Chuỗi
x Hệ thập lục
o Hệ cơ số 8
e Khoa học

Chuỗi Mẫu

Chuỗi mẫu như là trò chơi đoán từ cho Python. Chúng rất tốt khi bạn làm việc với đầu vào người dùng hoặc muốn tách biệt định dạng khỏi mã.

from string import Template

t = Template("$name là $age tuổi")
result = t.substitute(name="David", age=40)
print(result)

Output: David là 40 tuổi

Mô-đun textwrap

Mô-đun textwrap là người bạn tốt nhất khi làm việc với các chuỗi dài. Nó giúp bạn gói và định dạng văn bản để dễ đọc hơn.

import textwrap

long_string = "Đây là một chuỗi rất dài mà chúng ta muốn gói để dễ đọc trên màn hình hoặc in."
wrapped = textwrap.wrap(long_string, width=30)

for line in wrapped:
print(line)

Output:

Đây là một chuỗi rất dài
mà chúng ta muốn gói để
dễ đọc trên màn hình
hoặc in.

Hàm shorten()

Đôi khi, bạn chỉ cần cắt bỏ một chuỗi. Hàm shorten() hoàn hảo cho việc này:

import textwrap

long_string = "Đây là một chuỗi rất dài mà chúng ta muốn cắt ngắn."
shortened = textwrap.shorten(long_string, width=25, placeholder="...")
print(shortened)

Output: Đây là một chuỗi rất...

Mô-đun pprint

Cuối cùng nhưng không kém phần quan trọng, hãy nói về mô-đun pprint (in đẹp). Nó rất tốt cho việc in các cấu trúc dữ liệu phức tạp trong định dạng dễ đọc hơn.

from pprint import pprint

complex_data = {'name': 'Eve', 'age': 45, 'hobbies': ['đọc sách', 'chơi game', 'trekking'], 'family': {'spouse': 'Adam', 'children': ['Cain', 'Abel']}}

print("In thường:")
print(complex_data)

print("\nIn đẹp:")
pprint(complex_data)

Output:

In thường:
{'name': 'Eve', 'age': 45, 'hobbies': ['đọc sách', 'chơi game', 'trekking'], 'family': {'spouse': 'Adam', 'children': ['Cain', 'Abel']}}

In đẹp:
{'age': 45,
'family': {'children': ['Cain', 'Abel'], 'spouse': 'Adam'},
'hobbies': ['đọc sách', 'chơi game', 'trekking'],
'name': 'Eve'}

Và thế là, các bạn! Chúng ta đã hành trình qua đất Python định dạng output, từ hàm in cơ bản đến mô-đun pprint. Hãy nhớ, định dạng tốt như lối tịnh tế – nó làm cho mọi thứ trở nên thân thiện và dễ hiểu hơn.

Khi bạn tiếp tục cuộc hành trình Python của mình, hãy thử nghiệm các kỹ thuật định dạng này. Ngay bây giờ, bạn sẽ tạo ra các outputs không chỉ hoạt động mà còn đẹp mắt. Chúc các bạn mãi mãi có outputs được định dạng hoàn hảo!

Credits: Image by storyset