Cách định dạng chuỗi trong Python (chuỗi f & định dạng)
Tìm hiểu các kỹ thuật định dạng chuỗi tốt nhất trong Python. So sánh các chuỗi f, định dạng() và định dạng phần trăm hiện đại với các ví dụ về mã.
Tổng quan
Chuỗi định dạng là điều cần thiết hàng ngày để hiển thị các biến bên trong tin nhắn, xuất nhật ký, in các bản gỡ lỗi trên bảng điều khiển và xây dựng trang web. Python đã phát triển định dạng chuỗi một cách đáng kể trong nhiều năm qua, cung cấp nhiều tùy chọn để xây dựng cách trình bày văn bản động một cách an toàn và dễ đọc.
Trong Python hiện đại (3.6+), cách tiếp cận tiêu chuẩn và phổ biến nhất là định dạng bằng chuỗi f (Chuỗi ký tự được định dạng). Bằng cách thêm tiền tố `f` hoặc `F` vào một chuỗi, bạn có thể nhúng các biểu thức hoặc biến Python trực tiếp bên trong dấu ngoặc nhọn `{}`. Các biểu thức này được đánh giá trong thời gian chạy, làm cho chuỗi f nhanh hơn và dễ đọc hơn đáng kể so với các phương pháp định dạng cũ.
Các cơ sở mã Python cũ hơn có thể sử dụng phương thức `.format()` hoặc định dạng phần trăm `%`. Mặc dù vẫn được hỗ trợ nhưng nhìn chung chúng không được khuyến khích sử dụng mã mới. chuỗi f cũng hỗ trợ các công cụ xác định định dạng nội tuyến mạnh mẽ, cho phép bạn kiểm soát độ chính xác thập phân (ví dụ: `{value:.2f}`), căn chỉnh văn bản hoặc định dạng ngày tháng trực tiếp bên trong các biến chuỗi.
Đầu ra mã & thực thi
Tập lệnh này minh họa việc in các khối văn bản động bằng cách sử dụng chuỗi f, định dạng dấu phẩy động và sử dụng .format().
name = "Alice"
age = 30
pi = 3.14159
# 1. Using modern f-strings (Recommended)
greeting_f = f"Hello, my name is {name} and I am {age} years old."
print("f-string:", greeting_f)
# 2. formatting floats (2 decimal places precision)
precision_f = f"Pi rounded: {pi:.2f}"
print(precision_f)
# 3. Using the older .format() method
greeting_format = "Hello, my name is {} and I am {}.".format(name, age)
print(".format():", greeting_format)f-string: Hello, my name is Alice and I am 30 years old.
Pi rounded: 3.14
.format(): Hello, my name is Alice and I am 30.Triển khai từng bước
- Tiền tố chuỗi ký tự của bạn bằng ký tự f (ví dụ: f'Xin chào...').
- Chèn biến hoặc biểu thức trực tiếp vào dấu ngoặc nhọn {} trong chuỗi.
- Sử dụng các thông số định dạng như :.2f để xử lý định dạng thập phân bên trong dấu ngoặc nhọn.
Câu hỏi thường gặp
Chuỗi f có nhanh hơn định dạng .format() và % không?
Có, chuỗi f được đánh giá trong thời gian chạy dưới dạng các thao tác mã byte được tối ưu hóa, làm cho chúng nhanh hơn cả toán tử .format() và %.
Tôi có thể chạy các hàm hoặc đánh giá các biểu thức bên trong chuỗi f không?
Có, mọi biểu thức Python hợp lệ (bao gồm các phép toán, lệnh gọi hàm và tra cứu từ điển) đều có thể được đánh giá bên trong dấu ngoặc nhọn.
Chủ đề liên quan
Tìm hiểu cách lấy ngày giờ hiện tại trong Python bằng mô-đun datetime. Định dạng ngày thành chuỗi bằng strftime và xử lý múi giờ.
Cách chuyển đổi chuỗi thành int trong PythonTìm hiểu cách chuyển đổi một chuỗi thành số nguyên trong Python bằng hàm int(). Xử lý lỗi một cách an toàn và chuyển đổi số từ nhị phân, bát phân hoặc thập lục phân.
Tài nguyên Python được đề xuất
Mở rộng kiến thức của bạn với các hướng dẫn tương tác, bảng ghi chú và so sánh mã có liên quan.
Chuỗi Python
Thao tác chuỗi chính trong Python. Tìm hiểu các phương pháp chuỗi, kỹ thuật cắt, nối và định dạng với các ví dụ mã rõ ràng, có thể thực thi được.
Bảng cheat định dạng ngày giờ của Python
Tìm hiểu cách phân tích cú pháp và định dạng ngày và giờ trong Python bằng cách sử dụng datetime, strftime và strptime.
Python vs JavaScript: Ngôn ngữ lập trình nào tốt nhất?
So sánh toàn diện giữa Python và JavaScript. Khám phá sự khác biệt về cú pháp, hiệu suất, trường hợp sử dụng (phụ trợ so với giao diện người dùng) và các ví dụ về mã hóa.