Trước đó chúng ta đã thảo luận về Mô-đun hệ điều hành Python. Hôm nay, chúng ta sẽ xem Python pprint i. e. Python in đẹp. Ngoài ra, chúng ta sẽ thảo luận về định dạng pprint của Python và ví dụ về nó
Bài viết này bao gồm các cấu trúc dữ liệu đệ quy và các lớp riêng trong Pretty print in Python. Cuối cùng, chúng ta sẽ thấy Python pprintpp Module
Vì vậy, hãy bắt đầu hướng dẫn Python pprint
Mô-đun pprint Python – Máy in Python Data Pretty
Python Pretty Print là gì?
Mô-đun pprint cho phép chúng tôi in đẹp cấu trúc dữ liệu tùy ý trong Python để làm cho chúng đẹp hơn, được định dạng tốt và dễ đọc hơn. Những gì nó cung cấp cho chúng tôi ở dạng chúng tôi có thể sử dụng làm đầu vào cho trình thông dịch.
Đây chỉ là thứ dành cho người có thẩm mỹ và nó giữ đầu ra trên một dòng duy nhất bất cứ khi nào có thể. Và khi trên nhiều dòng, nó thụt vào nó
Hãy nhập nó
>>> from pprint import pprint
Về cơ bản, mô-đun này có lớp sau
in lớp. PrettyPrinter[indent=1, width=80, depth=None, stream=None, *, compact=False]
Điều này xây dựng một phiên bản PrettyPrinter cho chúng tôi. Hãy nói về các thông số của nó
- indent cung cấp cho chúng tôi số lượng thụt lề cho mỗi cấp độ đệ quy
- chiều rộng cung cấp cho chúng tôi chiều rộng đầu ra mong muốn
- độ sâu cung cấp cho chúng tôi số cấp độ cần in
- luồng cho phép chúng tôi đặt luồng đầu ra
- thu gọn cho phép chúng tôi chứa càng nhiều mục trong phạm vi chiều rộng càng tốt trên mỗi dòng đầu ra
Bây giờ, hãy thử một ví dụ không có pprint. Hãy lấy một danh sách để làm việc với
>>> data=[[1,{'a':'A','b':'B','c':'C','d':'D'}],[2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}],[3,['m','n']],[4,['o','p','q','r','s','t','u','v','w']],[5,['x','y','z']],] >>> print[data]
đầu ra
[[1, {‘a’. 'A', 'b'. 'B', 'c'. 'Đĩa CD'. 'D'}], [2, {'e'. 'e', 'f'. 'F', 'g'. 'g', 'h'. 'Xin chào'. 'tôi', 'j'. 'J', 'k'. 'K', 'l'. 'L'}], [3, ['m', 'n']], [4, ['o', 'p', 'q', 'r', 's', 't', 'u
Ví dụ pprint Python
Vì vậy, thay vào đó, hãy thử in cái này bằng pprint
>>> pprint[data]
đầu ra
[[1, {‘a’. 'A', 'b'. 'B', 'c'. 'Đĩa CD'. 'D'}],[2,
{'e'. 'E',
'f'. 'F',
'g'. 'G',
'h'. 'H',
'tôi'. 'TÔI',
'j'. 'J',
'k'. 'K',
'tôi'. 'L'}],
[3, [‘m’, ‘n’]],
[4, [‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’, ‘w’]],
[5, [‘x’, ‘y’, ‘z’]]]
Vì vậy, Python pprint làm gì? . Theo mặc định, đây là sys. tiêu chuẩn
Định dạng pprint Python
Chúng ta có thể định dạng cấu trúc dữ liệu mà không cần phải ghi nó vào luồng. Để làm điều này, chúng tôi sử dụng pformat[] để xây dựng biểu diễn chuỗi và các trường hợp sử dụng có thể bao gồm ghi nhật ký
>>> import logging >>> from pprint import pformat >>> logging.basicConfig[ level=logging.DEBUG, format='%[levelname]-8s %[message]s',] >>> logging.debug['Logging pformatted data']
GỠ LỖI Ghi nhật ký dữ liệu được định dạng
>>> formatted=pformat[data]
Vì vậy, chúng ta có thể in hoặc ghi chuỗi này một cách độc lập
>>> for line in formatted.splitlines[]: logging.debug[line.rstrip[]]
đầu ra
GỠ LỖI [[1, {'a'. 'A', 'b'. 'B', 'c'. 'Đĩa CD'. 'D'}], GỠ LỖI [2,
GỠ LỖI {‘e’. 'E',
GỠ LỖI ‘f’. 'F',
GỠ LỖI ‘g’. 'G',
GỠ LỖI ‘h’. 'H',
GỠ LỖI ‘i’. 'TÔI',
GỠ LỖI ‘j’. 'J',
GỠ LỖI ‘k’. 'K',
GỠ LỖI ‘l’. 'L'}],
GỠ LỖI [3, [‘m’, ‘n’]],
GỠ LỖI [4, ['o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w']],
GỠ LỖI [5, [‘x’, ‘y’, ‘z’]]]
Python đẹp in các lớp riêng của chúng tôi
Cuối cùng, chúng ta đã nói về hàm tích hợp repr[] trong Python. Trong đó, chúng tôi đã quan sát phương thức __repr__[]
Hôm nay, hãy xem cách chúng ta có thể làm cho pprint hoạt động với các lớp của riêng mình bằng cách sử dụng phương thức __repr__[]
>>> class Color: def __init__[self,name,hex_value]: self.name=name self.hex_value=hex_value def __repr__[self]: return[ 'I am '+self.name+' and you can find me at '+self.hex_value] >>> colors=[Color['salmon','#FA8072'],Color['olive','#808000'],Color['purple','#800080']] >>> print[colors]
đầu ra
[Tôi là cá hồi và bạn có thể tìm thấy tôi ở số #FA8072, tôi là màu ô liu và bạn có thể tìm thấy tôi ở số #808000, tôi là màu tím và bạn có thể tìm thấy tôi ở số #800080]
Bây giờ hãy xem Python pprint làm gì với điều này
>>> pprint[colors]
đầu ra
[Tôi là cá hồi và bạn có thể tìm thấy tôi tại #FA8072,Tôi là ô liu và bạn có thể tìm thấy tôi tại #808000,
Tôi màu tím và bạn có thể tìm thấy tôi tại #800080]
Python Pprint với cấu trúc dữ liệu đệ quy
Hãy tạo một danh sách và nối nó vào cuối danh sách. Điều này làm cho một danh sách đệ quy
________số 8đầu ra
45553504
>>> pprint[mylist]
đầu ra
[1, 2, ‘c’, ‘d’, ]
# Tham chiếu đệ quy
>>> data=[[1,{'a':'A','b':'B','c':'C','d':'D'}],[2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}],[3,['m','n']],[4,['o','p','q','r','s','t','u','v','w']],[5,['x','y','z']],] >>> print[data]0
đầu ra
[1, 2, 'c', 'd', […]]
- Kiểm soát độ sâu-
Để kiểm soát khoảng cách mà máy in đẹp Python lặp lại trong cấu trúc lồng nhau, chúng ta có thể sử dụng đối số độ sâu .
>>> data=[[1,{'a':'A','b':'B','c':'C','d':'D'}],[2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}],[3,['m','n']],[4,['o','p','q','r','s','t','u','v','w']],[5,['x','y','z']],] >>> print[data]1
đầu ra
[[…], […], […], […], […]]
>>> data=[[1,{'a':'A','b':'B','c':'C','d':'D'}],[2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}],[3,['m','n']],[4,['o','p','q','r','s','t','u','v','w']],[5,['x','y','z']],] >>> print[data]2
đầu ra
[[1, {…}], [2, {…}], [3, […]], [4, […]], [5, […]]]
>>> data=[[1,{'a':'A','b':'B','c':'C','d':'D'}],[2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}],[3,['m','n']],[4,['o','p','q','r','s','t','u','v','w']],[5,['x','y','z']],] >>> print[data]3
đầu ra
[[1, {‘a’. 'A', 'b'. 'B', 'c'. 'Đĩa CD'. ‘D’}],
[2, {‘e’. 'E','f'. 'F','g'. ‘G’,
'h'. 'H',
'tôi'. 'TÔI',
'j'. 'J',
'k'. 'K',
'tôi'. 'L'}],
[3, [‘m’, ‘n’]],
[4, [‘o’, ‘p’, ‘q’, ‘r’, ‘s’, ‘t’, ‘u’, ‘v’, ‘w’]],
[5, [‘x’, ‘y’, ‘z’]]]
Ở đây, các dấu chấm lửng biểu thị các mức mà nó loại trừ khỏi đầu ra
Quyết định chiều rộng đầu ra
Chúng ta có thể quyết định chiều rộng cho đầu ra- đây là số lượng cột. Giá trị mặc định là 80, nhưng chúng ta có thể thay đổi giá trị đó bằng chiều rộng.
>>> data=[[1,{'a':'A','b':'B','c':'C','d':'D'}],[2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}],[3,['m','n']],[4,['o','p','q','r','s','t','u','v','w']],[5,['x','y','z']],] >>> print[data]4
đầu ra
[1, 2, 'c', 'd']
>>> data=[[1,{'a':'A','b':'B','c':'C','d':'D'}],[2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}],[3,['m','n']],[4,['o','p','q','r','s','t','u','v','w']],[5,['x','y','z']],] >>> print[data]5
đầu ra
[1,2,
'c',
'd']
Vì vậy, bạn cũng có thể in đẹp đầu ra của phương thức listdir[] hoặc các biến môi trường của hệ thống với pprint[dict[os. môi trường], chiều rộng = 1]
>>> data=[[1,{'a':'A','b':'B','c':'C','d':'D'}],[2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}],[3,['m','n']],[4,['o','p','q','r','s','t','u','v','w']],[5,['x','y','z']],] >>> print[data]6
đầu ra
['DLL','Doc',
'vân vân',
'bao gồm',
'Thư viện',
'libs',
'GIẤY PHÉP. txt',
'Đàn ông',
'TIN TỨC. txt',
'opencv_ffmpeg343. dll',
'ngoài. nhật ký',
‘con trăn. exe',
‘trăn3. dll',
'trăn37. dll',
'trăn. exe',
'Tập lệnh',
'chia sẻ',
'tcl',
'Công cụ',
‘vcruntime140. dll']
Bạn có thể sử dụng cờ compact để làm cho điều này nhỏ gọn hơn-
>>> data=[[1,{'a':'A','b':'B','c':'C','d':'D'}],[2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}],[3,['m','n']],[4,['o','p','q','r','s','t','u','v','w']],[5,['x','y','z']],] >>> print[data]7
đầu ra
['DLL', 'Doc', 'etc', 'include', 'Lib', 'libs', 'LICENSE. txt’, ‘man’,’TIN TỨC. txt', 'opencv_ffmpeg343. dll', 'ra. nhật ký', 'trăn. exe', 'python3. dll',
'trăn37. dll', 'pythonw. exe', 'Tập lệnh', 'chia sẻ', 'tcl', 'Công cụ',
‘vcruntime140. dll']
Mô-đun pprintpp
Trước khi nói lời tạm biệt, tại sao chúng ta không nói về pprintpp?
Nó có sẵn trong PyPI và bạn có thể cài đặt nó dưới dạng
>>> data=[[1,{'a':'A','b':'B','c':'C','d':'D'}],[2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}],[3,['m','n']],[4,['o','p','q','r','s','t','u','v','w']],[5,['x','y','z']],] >>> print[data]8
Hãy nhập cái này
>>> data=[[1,{'a':'A','b':'B','c':'C','d':'D'}],[2,{'e':'E','f':'F','g':'G','h':'H','i':'I','j':'J','k':'K','l':'L'}],[3,['m','n']],[4,['o','p','q','r','s','t','u','v','w']],[5,['x','y','z']],] >>> print[data]9
Bây giờ, hãy thử in một cái gì đó với cái này
>>> pprint[data]0
Mô-đun pprintpp Python
- pp-ez
Bạn cũng có thể cài đặt gói pp-ez để làm việc này
>>> pprint[data]1
Điều này mang lại cho chúng ta cùng một đầu ra. Vậy pprint++ khác với pprint như thế nào?
Chà, mục tiêu của pprint ++ là phát ra một biểu diễn đầu vào có thể đọc được, phần lớn cũng tuân thủ PEP-8
Vì vậy, đây là tất cả trong Python pprint. Hy vọng bạn thích lời giải thích của chúng tôi về Python Pretty Print
Câu hỏi phỏng vấn Python trên Mô-đun pprint
- pprint trong Python là gì?
- Làm cách nào để sử dụng pprint trong Python?
- Làm cách nào để tạo danh sách in đẹp bằng Python?
- Sự khác biệt giữa in và pprint trong Python là gì?
- Bản in đẹp của Python làm gì?
Tóm lược
Do đó, chúng ta đã thảo luận về mô-đun pprint trong Python và phương thức của nó với các thuộc tính của nó. Một số trong số này là chiều rộng, chiều sâu và nhỏ gọn
Hơn nữa, chúng tôi đã xem xét ví dụ về bản in đẹp của Python. Ngoài ra, chúng tôi đã thấy định dạng trong Pretty Print. Chúc mừng in đẹp. Đây là lúc để khám phá những câu hỏi phỏng vấn Python được hỏi nhiều nhất.