Chuỗi F Python: Nội suy chuỗi nâng cao
Tìm hiểu cách định dạng chuỗi trong Python bằng chuỗi F. Đánh giá biểu thức chính, định dạng chính xác float, in ngày giờ và cú pháp tự ghi tài liệu.
Tổng quan
Định dạng chuỗi là công việc mà các nhà phát triển thực hiện hàng ngày. Về mặt lịch sử, định dạng Python dựa vào định dạng `%` kiểu C hoặc phương thức `.format()`. Về mặt chức năng, những kiểu cú pháp cũ này thường dẫn đến mã dài dòng, khó đọc.Python 3.6 đã giới thiệu Chuỗi ký tự được định dạng, thường được gọi là chuỗi F. Chuỗi F cung cấp cú pháp ngắn gọn, dễ đọc và được tối ưu hóa cao để chèn các biến và biểu thức trực tiếp vào chuỗi ký tự.
Để tạo một chuỗi F, bạn thêm `f` hoặc `F` vào tiền tố của chuỗi ký tự (ví dụ: `f"Xin chào {name}"`). Bất kỳ biến hoặc biểu thức Python nào được đặt bên trong dấu ngoặc nhọn `{...}` đều được đánh giá trong thời gian chạy và tự động chuyển đổi thành chuỗi. Chuỗi F không chỉ dành cho các biến; bạn có thể gọi các hàm, thực hiện các phép tính toán và thậm chí truy cập các giá trị từ điển bên trong dấu ngoặc nhọn, loại bỏ nhu cầu về các biến tạm thời.
Chuỗi F cũng có ngôn ngữ định dạng phong phú. Bằng cách thêm dấu hai chấm `:` bên trong dấu ngoặc nhọn, bạn có thể chỉ định quy tắc định dạng. Ví dụ: `{value:.2f}` làm tròn số float đến hai chữ số thập phân, `{num:03d}` đệm một số nguyên với các số 0 đứng đầu và `{date:%Y-%m-%d}` định dạng một đối tượng datetime. TrongPython 3.8+, chuỗi F đã giới thiệu cú pháp gỡ lỗi `{variable=}`, cú pháp này tự động in cả tên biến và giá trị của nó, giúp việc gỡ lỗi nhanh chóng và dễ dàng.
Đầu ra mã & thực thi
Thể hiện định dạng float, đánh giá biểu thức và tự ghi lại lỗi dấu bằng.
name = "Charlie"
price = 19.995
quantity = 3
# Basic interpolation and math evaluation
receipt = f"Customer: {name} | Total: ${price * quantity:.2f}"
print(receipt)
# Padding and alignment
number = 42
padded = f"ID: {number:05d}"
print(padded)
# Self-documenting debugging syntax (Python 3.8+)
value = 100
print(f"Debug output: {value=}")Customer: Charlie | Total: $59.99
ID: 00042
Debug output: value=100Triển khai từng bước
- Làm đẹp các kết quả đầu ra bằng số trong báo cáo và bảng điều khiển
- Xây dựng các truy vấn SQL động hoặc tải trọng yêu cầu API
- In các câu lệnh gỡ lỗi nhanh trong quá trình thử nghiệm cục bộ
Câu hỏi thường gặp
Chuỗi F có nhanh hơn các phương pháp định dạng chuỗi khác không?
Có, chuỗi F nhanh hơn định dạng % và .format() vì chúng được đánh giá trong thời gian chạy dưới dạng mã byte được tối ưu hóa thay vì được phân tích cú pháp khi thực thi.
Làm cách nào để in dấu ngoặc nhọn bằng chữ trong chuỗi F?
Bạn có thể thoát khỏi dấu ngoặc nhọn bằng cách nhân đôi chúng, ví dụ: f"{{Hello}}" sẽ in văn bản bằng chữ '{Hello}'.
Chủ đề liên quan
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.
Giải thích về biến và kiểu dữ liệu trong PythonHiểu các biến Python và các kiểu dữ liệu cốt lõi (chuỗi, số nguyên, số float, boolean). Hướng dẫn đầy đủ cho người mới bắt đầu về gán bộ nhớ trong Python.
Ngày giờ trong PythonTìm hiểu cách xử lý ngày, giờ, múi giờ và phép tính trong Python. Nắm vững định dạng, phân tích cú pháp và số học bằng cách sử dụng datetime và timedelta.
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.
Cách đọc tệp bằng Python
Tìm hiểu cách đọc tệp bằng Python. Nắm vững câu lệnh mở, dòng đọc, dòng đọc và xử lý các ngoại lệ tệp một cách an toàn.
Bảng cheat hoạt động của tệp Python
Tham khảo nhanh về đọc và ghi tệp bằng Python. Nắm vững các chế độ mở, trình quản lý bối cảnh và đọc từng dòng.
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.