Sự khác biệt giữa in và Pprint trong Python là gì?

Trong khi in dữ liệu từ một chương trình, chúng tôi gặp phải vấn đề in tập dữ liệu ở định dạng chuẩn. Dữ liệu được in ở đầu ra được in mà không có định dạng xác định, điều này làm cho dữ liệu trông không có tổ chức. Ngoài ra, chúng tôi gặp khó khăn khi tìm kiếm thông tin cụ thể từ tập dữ liệu được in. Nếu chúng tôi phải in dữ liệu này ở một số định dạng đã đặt, chúng tôi phải sử dụng nhiều hàm định dạng với mọi hàng & cột của tập dữ liệu. Điều này trở nên tốn thời gian và bận rộn khi tập dữ liệu đã cho có nhiều hàng và cột với các mục kích thước khác nhau. Do đó, nếu chúng ta phải in tập dữ liệu theo một số cách được sắp xếp trong đầu ra từ một chương trình, chúng ta phải tìm kiếm một số lựa chọn thay thế để in tập dữ liệu ở định dạng đã đặt. Tập dữ liệu được in ở định dạng tập hợp này cũng sẽ hữu ích khi chúng tôi tìm kiếm một số thông tin cụ thể từ tập dữ liệu. Đó là lý do tại sao tầm quan trọng của các gói máy in đẹp như vậy tăng lên trong các nhiệm vụ phát triển và lập trình. Nhiều ngôn ngữ lập trình cung cấp cho chúng tôi các gói mà chúng tôi có thể sử dụng để in tập dữ liệu ở định dạng đã đặt ở đầu ra. Nói cụ thể về Python, nó có một mô-đun pprint đi kèm với nhiều chức năng được sử dụng để in các bộ dữ liệu ở một số định dạng được đặt hoặc xác định. Do đó, chúng ta sẽ nghiên cứu mô-đun pprint của Python trong hướng dẫn này và tìm hiểu cách chúng ta có thể sử dụng các chức năng của mô-đun này để in tập dữ liệu ở một số định dạng cụ thể ở đầu ra

Giới thiệu về Mô-đun pprint của Python

mô-đun pprint là một phần của thư viện chuẩn của Python đi kèm với nhiều chức năng được sử dụng để in một tập dữ liệu nhất định ở định dạng cụ thể ở đầu ra. Bản thân tên của mô-đun pprint là viết tắt của mô-đun máy in đẹp và nó còn được gọi là mô-đun máy in dữ liệu đẹp. Giao diện đẹp mắt về mặt thẩm mỹ của cấu trúc dữ liệu và bộ dữ liệu cũng có thể thực hiện được nhờ chức năng của mô-đun pprint. mô-đun pprint cho phép chúng tôi in bất kỳ cấu trúc dữ liệu đã cho nào theo định dạng đã xác định và do đó mang lại cho nó vẻ ngoài đẹp mắt về mặt thẩm mỹ ở đầu ra. Bất kỳ cấu trúc dữ liệu hoặc tập dữ liệu nào được phân tích cú pháp và thực thi chính xác trong chương trình Python đều được định dạng trang nhã ở đầu ra bằng chức năng của mô-đun pprint

Trong chừng mực có thể, biểu thức định dạng của cấu trúc dữ liệu trong đầu ra được mô-đun pprint giữ trong một dòng, nhưng đôi khi khi độ dài của biểu thức định dạng vượt quá độ dài đã xác định, nó sẽ bị chia thành nhiều dòng. Đôi khi, biểu thức được định dạng chia thành nhiều dòng khi kích thước của nó vượt quá tham số chiều rộng mặc định của các chức năng định dạng của mô-đun pprint. Dữ liệu từ điển trong đầu ra pprint của chương trình được định dạng tự động trước khi biểu diễn hoặc hiển thị kết quả ở đầu ra và đó là một tính năng độc đáo của mô-đun pprint. Do đó, chúng ta có thể nói rằng dữ liệu được in bằng mô-đun pprint có cấu trúc tốt và ở dạng dễ đọc hơn

Mô-đun pprint trong Python. Cài đặt

mô-đun pprint đi kèm với các thư viện chuẩn của Python, tôi. e. , pprint là một mô-đun được cài đặt sẵn của Python được cài đặt cùng với việc cài đặt bản phân phối Python tiêu chuẩn. Do đó, chúng tôi không phải thực hiện hoặc thực hiện bất kỳ quy trình cài đặt nào trước khi sử dụng mô-đun pprint trong các chương trình Python. Chúng ta có thể trực tiếp bắt đầu nhập mô-đun này vào các chương trình Python để làm việc với nó và hiểu cách triển khai cũng như hoạt động của nó. Chúng ta có thể sử dụng dòng mã sau để nhập mô-đun pprint của Python trong chương trình

Vì vậy, chúng ta có thể sử dụng mô-đun này trong các chương trình ví dụ trong hướng dẫn này để làm việc với nó và hiểu cách triển khai của nó

Các lớp trong Mô-đun pprint

Mô-đun pprint của Python chứa định nghĩa của lớp PrettyPrinter trong thư viện chuẩn của nó để đặt cấu trúc dữ liệu đã cho ở định dạng được sắp xếp. Để sử dụng lớp PrettyPrinter của mô-đun này, chúng ta phải định nghĩa một hàm tạo cho lớp đó trong chương trình và chỉ sau đó chúng ta mới có thể sử dụng các hàm của mô-đun pprint từ lớp PrettyPrinter này

Cú pháp để xác định Trình xây dựng lớp PrettyPrinter

Nếu chúng ta phải sử dụng lớp pprint trong chương trình, chúng ta có thể sử dụng nó bằng cách định nghĩa hàm tạo của lớp này trong chương trình và sau đó sử dụng hàm tạo với các chức năng của mô-đun pprint trong khi in các cấu trúc dữ liệu hoặc bộ dữ liệu ở một số định dạng cụ thể

Chúng ta phải sử dụng cú pháp hoặc dòng mã sau để xác định hàm tạo của lớp pprint

Tranh luận. Như chúng ta có thể thấy trong cú pháp được viết ở trên, hàm tạo của lớp pprint có thể được định nghĩa bằng cách sử dụng hàm PrettyPrinter[] của mô-đun pprint. Hàm PrettyPrinter[] nhận năm đối số sau khi chúng ta đang sử dụng nó để định nghĩa hàm tạo cho lớp PrettyPrinter

[i] thụt lềGiven. Tham số thụt lề của hàm dùng để xác định thụt lề cần thêm vào sau mỗi mức đệ quy [Giá trị dữ liệu trong mỗi hàng và cột]. Nếu chúng ta không xác định tham số này bằng cách truyền một đối số trong hàm, thì hàm sẽ lấy đối số mặc định là 1 cho đối số thụt lề

[ii] widthOfLine. Tham số này của hàm xác định độ rộng của mỗi dòng từ cấu trúc dữ liệu và định dạng đầu ra mong muốn của cấu trúc dữ liệu được giới hạn ở định dạng này. Giá trị mặc định cho tham số chiều rộng là 80 và được sử dụng khi chúng tôi không cung cấp bất kỳ đối số chiều rộng nào trong hàm. Nếu độ dài của dòng cấu trúc dữ liệu lớn hơn tham số chiều rộng được xác định trong hàm, nó sẽ chia thành nhiều cấu trúc dòng trong đầu ra

[iii] độ sâuInData. Tham số độ sâu của chức năng được sử dụng để kiểm soát số lượng mức in trong đầu ra. Đây là một đối số tùy chọn của hàm và không có giá trị mặc định nào cho tham số này

[iv] luồng. Giá trị mặc định của tham số luồng là std. out- máy xuất mặc định. Tham số này được sử dụng trong hàm để lấy bất kỳ đối tượng luồng nào, chẳng hạn như tệp trong khi in cấu trúc dữ liệu ở đầu ra

[v] nhỏ gọn. Đây là đối số cuối cùng được sử dụng trong hàm PrettyPrinter[] và theo mặc định, tham số nhỏ gọn id được đặt thành Sai. Chúng tôi chỉ phải đặt đối số này thành True khi dữ liệu chúng tôi đang hiển thị có thể điều chỉnh theo chiều rộng

Đây là năm đối số nên được đưa ra trong hàm PrettyPrinter[] khi định nghĩa phương thức khởi tạo cho lớp PrettyPrinter. Chúng ta có thể sử dụng các đối số này để chỉ định định dạng mà chúng ta muốn in cấu trúc dữ liệu đã cho ở đầu ra

Các phương thức trong lớp PrettyPrinter

Mô-đun pprint có nhiều phương thức trong đó một số phương thức được định nghĩa bằng hàm tạo của lớp PrettyPrinter. Các phương thức hoặc hàm được định nghĩa bởi hàm tạo của lớp PrettyPrinter được sử dụng trong chương trình để in cấu trúc dữ liệu theo định dạng đã chỉ định. Sau đây là hai phương thức được định nghĩa dưới hàm khởi tạo của lớp PrettyPrinter

a] hàm pprint[]. Phương thức đầu tiên trong lớp PrettyPrinter là hàm pprint[], in biểu diễn được định dạng của đối tượng PrettyPrinter [nơi dữ liệu từ cấu trúc dữ liệu được lưu trữ ở định dạng cụ thể] ở đầu ra. Chúng ta có thể sử dụng chức năng này như câu lệnh in để in bất kỳ dữ liệu nào từ chương trình

b] hàm pformat[]. Dựa trên các tham số chúng tôi đã cung cấp trong hàm tạo của lớp PrettyPrinter, hàm này trả về biểu diễn được định dạng của đối tượng PrettyPrinter

Hai hàm này được định nghĩa dưới hàm tạo của lớp PrettyPrinter và chúng ta có thể sử dụng các phương thức này với hàm tạo và in cấu trúc dữ liệu ở đầu ra

Mô-đun pprint trong Python. Thực hiện

Chúng ta đã học về các hàm, lớp và phương thức của mô-đun pprint cho đến bây giờ trong hướng dẫn này. Bây giờ, chúng ta sẽ hiểu hoạt động của mô-đun pprint và các lớp & chức năng của nó trong phần này của hướng dẫn. Chúng ta sẽ sử dụng các hàm và hàm tạo lớp của mô-đun pprint trong các chương trình ví dụ để hiểu chức năng và hoạt động của chúng trong chương trình. Chúng ta sẽ sử dụng các hàm pprint[] và pformat[] trong các chương trình ví dụ để hiểu cách triển khai và hoạt động của chúng để biết cách chúng ta có thể pformat [sử dụng các hàm này để in cấu trúc dữ liệu theo định dạng được chỉ định trong đầu ra

Xem các chương trình ví dụ sau để hiểu việc thực hiện các chức năng của mô-đun pprint để in cấu trúc dữ liệu

Thực hiện 1. Sử dụng hàm pprint[] cho đầu ra được định dạng

Trong phần triển khai này, chúng ta sẽ sử dụng hàm pprint[] của mô-đun pprint để in các cấu trúc dữ liệu được cung cấp trong chương trình theo một định dạng cụ thể để chương trình trông bắt mắt và đúng định dạng hơn. Chúng ta sẽ sử dụng một số chương trình ví dụ để hiểu hoạt động của hàm pprint[] này với các đối số khác nhau được đưa ra trong hàm. Đầu tiên, hãy xem chương trình ví dụ sau để hiểu đầu ra được in bằng hàm pprint[]

ví dụ 1. Hãy xem chương trình Python sau đây, nơi chúng ta đã so sánh đầu ra câu lệnh in đơn giản với đầu ra của hàm pprint[]

đầu ra

Normal output of student data structure with print statement:
{'Dwayne Johnson': ['English', 'Chemistry', 'Physics', 'Mathematics', 'Biology'], 'Randy Orton': {'English': 50, 'Physics': 60, 'Chemistry': 70, 'Mathematics': 80, 'Biology': 90}, 'Karl Marx': [50, 60, 70, 80, 90]}
----
The pprint function's formatted output of the student data structure:
{'Dwayne Johnson': ['English',
                    'Chemistry',
                    'Physics',
                    'Mathematics',
                    'Biology'],
 'Karl Marx': [50, 60, 70, 80, 90],
 'Randy Orton': {'Biology': 90,
                 'Chemistry': 70,
                 'English': 50,
                 'Mathematics': 80,
                 'Physics': 60}}

Như chúng ta có thể thấy, đầu ra in bình thường và đầu ra được định dạng của hàm pprint của cấu trúc dữ liệu sinh viên được in trong đầu ra. Chúng ta có thể quan sát sự khác biệt giữa đầu ra bình thường và đầu ra được định dạng của hàm pprint[] và kết luận rằng đầu ra được định dạng của hàm pprint[] rất đơn giản và dễ quan sát. Đó là cách chúng ta có thể sử dụng hàm pprint[] mà không cần bất kỳ đối số nào bên trong nó để in đầu ra được định dạng của cấu trúc dữ liệu đã cho

Giải trình. Trước tiên, chúng tôi đã nhập mô-đun pprint trong chương trình dưới dạng ppr và sau đó, chúng tôi đã xác định hàm tạo của lớp PrettyPrinter. Chúng ta cũng đã định nghĩa một cấu trúc dữ liệu mẫu của dữ liệu một số sinh viên và đặt tên cho cấu trúc dữ liệu này là studentDS. Chúng tôi đặt tên biến hàm tạo của lớp PrettyPrinter là ppConst và sử dụng nó sau này với hàm pprint[]. Sau đó, chúng tôi đã sử dụng hàm pprint[] với biến hàm tạo ppConst. Trong khi sử dụng hàm pprint[], chúng tôi đã chuyển biến cấu trúc dữ liệu của sinh viên làm đối số để định dạng đầu ra của cấu trúc dữ liệu sinh viên. Sau đó, đầu tiên, chúng tôi đã in đầu ra bình thường của cấu trúc dữ liệu bằng cách sử dụng biến studentDS. Và, cuối cùng, chúng tôi đã in đầu ra được định dạng của hàm pprint[] bằng cách sử dụng hàm pprint[] để so sánh nó với đầu ra bình thường

In cấu trúc dữ liệu đệ quy với hàm pprint[]

Chúng ta cũng có thể in đệ quy cấu trúc dữ liệu bằng hàm pprint[]. Ở đây, chúng tôi cũng sẽ cố gắng in một đối tượng đệ quy từ cấu trúc dữ liệu đã cho và đối với quy trình đệ quy tiếp theo, chỉ các tham chiếu sẽ được in trong đầu ra. Hãy xem chương trình ví dụ sau để hiểu cách triển khai in đối tượng đệ quy của hàm pprint[]

ví dụ 2. Hãy xem chương trình sau nơi chúng tôi đã in một đối tượng đệ quy ở đầu ra

đầu ra

Appended list of numbers: 
[24, 25, 26, 27, 28, 29, 30, [...]]
----------------
Appended list with recursive object from pprint function: 
[24, 25, 26, 27, 28, 29, 30, ]

Như chúng ta có thể thấy, khi chúng ta in danh sách được nối thêm ở đầu ra bằng cách sử dụng hàm pprint[], mục cuối cùng trong danh sách được in dưới dạng đối tượng đệ quy. Đầu ra cho thấy đệ quy được bắt đầu trong danh sách với id tham chiếu đối tượng của mục cuối cùng

Cung cấp tham số chiều rộng

Bây giờ, chúng ta sẽ cung cấp tham số chiều rộng [mà chúng ta đã thảo luận trong phần trước] của lớp PrettyPrinter trong khi định nghĩa hàm tạo cho cùng. Chiều rộng chúng tôi cung cấp bên trong hàm PrettyPrinter[] định dạng đầu ra theo chiều rộng đã cho và trình bày nó ở cùng định dạng. Hãy xem chương trình ví dụ sau để hiểu cách thực hiện tham số chiều rộng của lớp PrettyPrinter

ví dụ 3. Hãy xem chương trình sau đây, nơi chúng tôi đã sử dụng tham số chiều rộng cho hàm tạo của lớp PrettyPrinter

đầu ra

The pprint function's formatted output of the student data structure with defined width:
{'Dwayne Johnson': ['English',
                    'Chemistry',
                    'Physics',
                    'Mathematics',
                    'Biology'],
 'Karl Marx': [50,
               60,
               70,
               80,
               90],
 'Randy Orton': {'Biology': 90,
                 'Chemistry': 70,
                 'English': 50,
                 'Mathematics': 80,
                 'Physics': 60}}

Như chúng ta có thể thấy, đầu ra được định dạng của cấu trúc dữ liệu của học sinh được in theo chiều rộng mà chúng ta đã cung cấp bên trong lớp PrettyPrinter bằng đối số chiều rộng, i. e. , chiều rộng = 24

Thực hiện 2. Sử dụng hàm pformat[] cho đầu ra được định dạng

Chúng ta sẽ học cách triển khai hàm pformat[] để in đầu ra được định dạng của cấu trúc dữ liệu đã cho trong phần triển khai này. Chúng ta có thể triển khai hàm pformat từ hàm tạo PrettyPrinter bằng hai cách sau

[i] pformat như một phương thức

[ii] pformat như một chức năng

Chúng tôi sẽ sử dụng một chương trình ví dụ trong từng trường hợp để hiểu việc triển khai pformat

[i] Sử dụng pformat làm Phương thức

Ở đây, chúng ta sẽ sử dụng pformat như một phương thức để in đầu ra được định dạng với chức năng này. Chúng ta có thể xem chương trình ví dụ sau để hiểu cách triển khai phương thức của pformat

Pprint có nghĩa là gì trong Python?

Mô-đun pprint trong Python là một mô-đun tiện ích mà bạn có thể sử dụng để in cấu trúc dữ liệu theo cách dễ đọc, đẹp mắt . Đó là một phần của thư viện tiêu chuẩn đặc biệt hữu ích để gỡ lỗi mã xử lý các yêu cầu API, tệp JSON lớn và dữ liệu nói chung.

Tại sao Pprint được sử dụng?

Mô-đun pprint cung cấp khả năng “in đẹp” các cấu trúc dữ liệu Python tùy ý ở dạng có thể được sử dụng làm đầu vào cho trình thông dịch. If the formatted structures include objects which are not fundamental Python types, the representation may not be loadable.

Pprint và Pformat trong Python là gì?

pprint[] − in biểu diễn được định dạng của đối tượng PrettyPrinter . pformat[] − Trả về biểu diễn định dạng của đối tượng, dựa trên các tham số của hàm tạo .

Pprint có được xây dựng không

Bài viết này nói về một mô-đun tích hợp khá hữu ích trong Python , pprint. Mô-đun pprint cung cấp khả năng “in đẹp” các cấu trúc dữ liệu Python tùy ý theo cách được định dạng tốt và dễ đọc hơn.

Chủ Đề