Python đã có các trình định dạng chuỗi tuyệt vời trong nhiều năm nhưng tài liệu về chúng quá lý thuyết và kỹ thuật. Với trang web này, chúng tôi cố gắng hiển thị cho bạn các trường hợp sử dụng phổ biến nhất được bao phủ bởi API định dạng chuỗi kiểu cũ và kiểu mới với các ví dụ thực tế Show
Tất cả các ví dụ trên trang này đều hoạt động hiệu quả với Python 2. 7, 3. 2, 3. 3, 3. 4 và 3. 5 mà không yêu cầu bất kỳ thư viện bổ sung nào Thông tin chi tiết về hai phương pháp định dạng này có thể được tìm thấy trong tài liệu Python chính thức Nếu bạn muốn đóng góp thêm ví dụ, vui lòng tạo yêu cầu kéo trên Github Mục lụcĐịnh dạng cơ bảnĐịnh dạng vị trí đơn giản có lẽ là trường hợp sử dụng phổ biến nhất. Sử dụng nó nếu thứ tự các đối số của bạn không có khả năng thay đổi và bạn chỉ có rất ít phần tử muốn nối Vì các phần tử không được biểu thị bằng thứ gì đó mang tính mô tả như tên nên kiểu đơn giản này chỉ nên được sử dụng để định dạng một số phần tử tương đối nhỏ Mới'{} {}'.format('one', 'two') Với định dạng kiểu mới, có thể (và trong Python 2. 6 thậm chí bắt buộc) để cung cấp cho trình giữ chỗ một chỉ mục vị trí rõ ràng Điều này cho phép sắp xếp lại thứ tự hiển thị mà không thay đổi các đối số Thao tác này không khả dụng với định dạng kiểu cũ Mới'{1} {0}'.format('one', 'two') chuyển đổi giá trịTrình định dạng đơn giản kiểu mới theo mặc định gọi phương thức '{0!s} {0!r}'.format(Data())1 của một đối tượng để biểu diễn nó. Nếu bạn chỉ muốn hiển thị đầu ra của '{0!s} {0!r}'.format(Data())2 hoặc '{0!s} {0!r}'.format(Data())3, bạn có thể sử dụng cờ chuyển đổi '{0!s} {0!r}'.format(Data())4 hoặc '{0!s} {0!r}'.format(Data())5 Trong %-style, bạn thường sử dụng '{0!s} {0!r}'.format(Data())6 để biểu diễn chuỗi nhưng có '{0!s} {0!r}'.format(Data())7 cho chuyển đổi '{0!s} {0!r}'.format(Data())3 Thành lập'{1} {0}'.format('one', 'two')0 Mới'{0!s} {0!r}'.format(Data()) Trong Python 3 tồn tại một cờ chuyển đổi bổ sung sử dụng đầu ra của '{0!s} {0!r}'.format(Data())3 nhưng thay vào đó sử dụng '{1} {0}'.format('one', 'two')30 Thành lập'{1} {0}'.format('one', 'two')3 Mới'{1} {0}'.format('one', 'two')5 Đệm và căn chỉnh chuỗiTheo mặc định, các giá trị được định dạng để chỉ chiếm bao nhiêu ký tự cần thiết để thể hiện nội dung. Tuy nhiên, cũng có thể xác định rằng một giá trị phải được đệm theo một độ dài cụ thể Thật không may, căn chỉnh mặc định khác nhau giữa định dạng kiểu cũ và kiểu mới. Kiểu cũ mặc định căn phải trong khi kiểu mới căn trái Sắp xếp đúng Một lần nữa, định dạng kiểu mới vượt qua biến thể cũ bằng cách cung cấp nhiều quyền kiểm soát hơn đối với cách các giá trị được đệm và căn chỉnh Bạn có thể chọn ký tự đệm Thao tác này không khả dụng với định dạng kiểu cũ Và cả các giá trị căn giữa Thao tác này không khả dụng với định dạng kiểu cũ Khi sử dụng căn giữa mà độ dài của chuỗi dẫn đến sự phân chia không đều của các ký tự đệm, ký tự thừa sẽ được đặt ở bên phải Thao tác này không khả dụng với định dạng kiểu cũ Kết hợp cắt ngắn và đệmCũng có thể kết hợp cắt xén và đệm Mới'{1} {0}'.format('one', 'two')6 sốTất nhiên nó cũng có thể định dạng số số nguyên Cũ'{1} {0}'.format('one', 'two')7 Mới'{1} {0}'.format('one', 'two')8 Số đệmTương tự như chuỗi, số cũng có thể bị giới hạn ở một chiều rộng cụ thể Một lần nữa, tương tự như việc cắt ngắn các chuỗi, độ chính xác cho các số dấu phẩy động giới hạn số lượng vị trí sau dấu thập phân Đối với các dấu phẩy động, giá trị đệm biểu thị độ dài của đầu ra hoàn chỉnh. Trong ví dụ bên dưới, chúng tôi muốn đầu ra của mình có ít nhất 6 ký tự với 2 sau dấu thập phân Cũ'{1} {0}'.format('one', 'two')9 Mới'{1} {0}'.format('one', 'two')0 Đối với các giá trị số nguyên cung cấp độ chính xác không có nhiều ý nghĩa và thực sự bị cấm theo kiểu mới (nó sẽ dẫn đến ValueError) Số đã kýTheo mặc định, chỉ các số âm mới có tiền tố là dấu. Điều này có thể được thay đổi tất nhiên Sử dụng ký tự khoảng trắng để cho biết rằng các số âm phải được thêm vào trước ký hiệu dấu trừ và dấu cách ở đầu nên được sử dụng cho các số dương Định dạng kiểu mới cũng có thể kiểm soát vị trí của ký hiệu ký hiệu so với phần đệm Thao tác này không khả dụng với định dạng kiểu cũ Trình giữ chỗ được đặt tênCả hai kiểu định dạng đều hỗ trợ trình giữ chỗ có tên Thành lập'{1} {0}'.format('one', 'two')1 Mới'{1} {0}'.format('one', 'two')2 '{1} {0}'.format('one', 'two')31 cũng chấp nhận đối số từ khóa Thao tác này không khả dụng với định dạng kiểu cũ Mới'{1} {0}'.format('one', 'two')3 Getitem và GetattrĐịnh dạng kiểu mới cho phép linh hoạt hơn trong việc truy cập các cấu trúc dữ liệu lồng nhau Nó hỗ trợ truy cập các vùng chứa hỗ trợ '{1} {0}'.format('one', 'two')32 như từ điển và danh sách chẳng hạn Thao tác này không khả dụng với định dạng kiểu cũ Thành lập'{1} {0}'.format('one', 'two')4 Mới'{1} {0}'.format('one', 'two')5 Mới'{1} {0}'.format('one', 'two')6 Cũng như truy cập các thuộc tính trên các đối tượng thông qua '{1} {0}'.format('one', 'two')33 Thao tác này không khả dụng với định dạng kiểu cũ Thành lập'{1} {0}'.format('one', 'two')7 Mới'{1} {0}'.format('one', 'two')8 Cả hai loại quyền truy cập có thể được trộn lẫn tự do và lồng nhau tùy ý Thao tác này không khả dụng với định dạng kiểu cũ Thành lập'{1} {0}'.format('one', 'two')9 Mới'{1} {0}'.format('one', 'two')00 định dạng tham sốNgoài ra, định dạng kiểu mới cho phép tất cả các thành phần của định dạng được chỉ định động bằng cách sử dụng tham số hóa. Định dạng tham số hóa là các biểu thức lồng nhau trong dấu ngoặc nhọn có thể xuất hiện ở bất kỳ đâu trong định dạng gốc sau dấu hai chấm Định dạng kiểu cũ cũng hỗ trợ một số tham số hóa nhưng hạn chế hơn nhiều. Cụ thể là nó chỉ cho phép tham số hóa chiều rộng và độ chính xác của đầu ra Căn chỉnh tham số và chiều rộng Thao tác này không khả dụng với định dạng kiểu cũ Mới'{1} {0}'.format('one', 'two')01 Cũ'{1} {0}'.format('one', 'two')02 Mới'{1} {0}'.format('one', 'two')03 Mới'{1} {0}'.format('one', 'two')04 Định dạng lồng nhau có thể được sử dụng để thay thế bất kỳ phần nào của thông số định dạng, do đó, ví dụ chính xác ở trên có thể được viết lại thành Thao tác này không khả dụng với định dạng kiểu cũ Mới'{1} {0}'.format('one', 'two')05 Các định dạng lồng nhau có thể là đối số vị trí. Vị trí phụ thuộc vào thứ tự của dấu ngoặc nhọn mở Thao tác này không khả dụng với định dạng kiểu cũ Mới'{1} {0}'.format('one', 'two')06 Và tất nhiên, các đối số từ khóa có thể được thêm vào hỗn hợp như trước đây Thao tác này không khả dụng với định dạng kiểu cũ Mới'{1} {0}'.format('one', 'two')07 đối tượng tùy chỉnhVí dụ về ngày giờ hoạt động thông qua việc sử dụng phương pháp ma thuật '{0!s} {0!r}'.format(Data())1. Bạn có thể xác định xử lý định dạng tùy chỉnh trong các đối tượng của riêng mình bằng cách ghi đè phương thức này. Điều này cho phép bạn kiểm soát hoàn toàn cú pháp định dạng được sử dụng Các định dạng số khác nhau trong Python là gì?Định dạng số Chức năng định dạng trong Python là gì?Định dạng Hàm trong Python (str. format()) là kỹ thuật của danh mục chuỗi cho phép bạn thử thay thế biến và định dạng dữ liệu . Nó cho phép bạn nối các phần của chuỗi theo các khoảng thời gian mong muốn thông qua định dạng dữ liệu điểm.
%d và %s trong Python là gì?Trong Python, cả %s và %d đều là các phần giữ chỗ cho một chuỗi và một số tương ứng . name = 'Robey' number = 454 print '%s %d' % (tên, số) %s sẽ trả về chuỗi và %d sẽ trả về số, các giá trị được chuyển bằng toán tử %.
Định dạng của hàm là gì?Hàm Định dạng là một hàm định dạng rất mạnh có thể hiển thị các giá trị số ở nhiều dạng khác nhau. Có hai loại chức năng Định dạng, một trong số đó là định dạng tích hợp hoặc được xác định trước trong khi một loại khác có thể được xác định bởi người dùng |