Jak używać ładnego modułu drukowania w Python

Jak używać ładnego modułu drukowania w Python
W tym artykule obejmie przewodnik po użyciu modułu „Pretty Print” i jego dostępnych metod w Python. Ten moduł zwany także Pprint jest dostępny w standardowej bibliotece Python. Wszystkie próbki kodu w tym artykule są testowane z Python 3.9.5 na Ubuntu 21.04.

O Pprint

Moduł Pprint może być używany do poprawy wyglądu i odczucia i formatowania standardowego wyjścia wydrukowanego za pomocą Pythona w terminalu. Formatując wyjście, możesz poprawić jego czytelność, a nawet wyeksportować ją do pliku zewnętrznego w celu przechowywania lepszej struktury wyjściowej. Wykorzystanie modułu Pprint można najlepiej zrozumieć za pomocą przykładów, niektóre z nich są wymienione poniżej.

Podstawowa składnia metody pprint

Spójrz na poniższą próbkę kodu:

z Pprint Import Pprint
D = „A”: 1, „B”: 2, „C”: 3, „D”: 4
Drukuj (d)
pprint (d)

Powyższy przykład ilustruje zastosowanie metod drukowania, jak i pprint. Pierwsza linia importuje metodę Pprint z modułu Pprint. Zmienna „D” jest obiektem typu słownika z parami kluczów. Następnie wywoływana jest metoda Pprint, a obiekt do wydrukowania jest do niej dostarczany jako argument (w tym przypadku słownik Python).

Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:

„A”: 1, „B”: 2, „C”: 3, „D”: 4
„A”: 1, „B”: 2, „C”: 3, „D”: 4

Zarówno metody drukowania, jak i pprint wytwarzają takie same wyjście, jak do wyjścia nie zastosowano żadnego formatowania. Nadchodzące przykłady pokażą zastosowanie formatowania do wyjścia.

Konwersja wyjścia pojedynczego linii na wyjście wielopoziomowe za pomocą Pprint

Aby przekonwertować wyjście z pojedynczą linią na wyjście wielopoziomowe, będziesz musiał dostarczyć zmienną „szeroką” jako argument do metody Pprint. Spójrz na poniższą próbkę kodu:

z Pprint Import Pprint
D = „A”: 1, „B”: 2, „C”: 3, „D”: 4
pprint (d, szerokość = 1)

Próbka kodu jest taka sama jak pokazany powyżej, z nowym argumentem o nazwie „szerokość” o wartości 1. Wartość szerokości można użyć do określenia maksymalnej liczby znaków dozwolonych na jednej linii. Domyślnie ta wartość to 80. Jeśli zagnieżdżone obiekty / elementy obiektu przekroczą ograniczenia szerokości, są one przeniesione na nową linię. Ponieważ istnieje ograniczenie zaledwie 1 znaku, każdy element zostanie przeniesiony do nowej linii przy użyciu najlepszego podejścia zidentyfikowanego przez Pythona, aby obiekt został wydrukowany. Takie podejście zapewnia, że ​​każdy element ma pełną linię, aby był czytelny i nie został zepsuty ani obcięty na częściowe słowa.

Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:

„A”: 1,
„B”: 2,
„C”: 3,
„D”: 4

Dodanie wcięcia do wyjścia wielopoziomowego za pomocą Pprint

Jeśli masz ciąg wielopoziomowy lub złamałeś wyjście pojedynczego linii do wyjścia wielopoziomowego za pomocą metody wyjaśnionej powyżej, możesz użyć argumentu „wskaźnika”, aby dodać odstępy przed każdym obiektem w wyjściu. Spójrz na poniższą próbkę kodu:

z Pprint Import Pprint
D = „A”: 1, „B”: 2, „C”: 3, „D”: 4
pprint (d, szerokość = 1, wcięcie = 4)

Próbka kodu jest taka sama, jak wyjaśniony powyżej przykład. Dodano jednak nowy argument zwany „wcięciem” o wartości 4. To doda wcięcie równe 4 przestrzeni przed każdym obiektem.

Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:

„A”: 1,
„B”: 2,
„C”: 3,
„D”: 4

Zauważ, że argument „wcięcia” nie będzie miał wpływu na wyjścia z pojedynczego linii.

Ograniczanie wydrukowanej wydajności do określonych poziomów

Jeśli drukowany obiekt zawiera zagnieżdżone obiekty, możesz użyć argumentu „głębokości”, aby ograniczyć wyjście do określonych poziomów. Spójrz na poniższą próbkę kodu:

z Pprint Import Pprint
D = „A”: 1, „B”: 2, „C”: 3, „D”: [4, 5]
pprint (d, głębokość = 1)

W powyższym przykładzie dane są drukowane do poziomu głębokości 1. Innymi słowy, wydrukowane są tylko obiekty, które nie zawierają żadnych innych zagnieżdżonych obiektów. Lista „[4, 5]” ma poziom głębokości 2 i nie będzie drukowana. Aby wskazać, że jest ukryty, używane są trzy kropki lub elipsy.

Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:

„A”: 1, „B”: 2, „C”: 3, „D”: […]

Oto kolejny przykład, w którym stosuje się głębokość 2 poziomów. Pierwszy zagnieżdżony element pojawia się na wyjściu, ale drugi nie.

z Pprint Import Pprint
D = „A”: 1, „B”: 2, „C”: 3, „D”: [4, [5, 6]]
pprint (d, głębokość = 2)

Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:

„A”: 1, „B”: 2, „C”: 3, „D”: [4, […]]

Uzyskanie dość drukowanego wyjścia jako wartości zwracania

Jeśli chcesz użyć ładnie wydrukowanego wyjścia w innych funkcjach Pythona lub przypisz je do zmiennej, możesz użyć metody „PFormat”. Jest identyczny z metodą pprint, z wyjątkiem tego, że nic nie drukuje, ale zwraca sformatowany ciąg. Spójrz na poniższą próbkę kodu:

z Pprint Import Pformat
D = „A”: 1, „B”: 2, „C”: 3, „D”: [4, [5, 6]]
ładne = pformat (d, głębokość = 2)
druk (ładny)

Zamiast pprint, teraz PFormat został zaimportowany z modułu pprint. „Ładna” zmienna przechowuje sformatowany ciąg, aby można go było używać później w kodzie. Ostatnia instrukcja drukuje dane wyjściowe całkiem zmiennych.

Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:

„A”: 1, „B”: 2, „C”: 3, „D”: [4, […]]

Korzystanie z modułu JSON do ładnego wydrukowania słownika Pythona

Jeśli chcesz wydrukować słownik Pythona w dobrze wciętej strukturze JSON, moduł pprint może nie być wystarczający. W takim przypadku metoda „zrzutów” z modułu JSON daje znacznie lepszy wynik. Spójrz na poniższą próbkę kodu:

z Pprint Import Pprint
Z wysypisk Import Json
D = „A”: 1, „B”: 2, „C”: 3, „D”: 4
pprint (d, szerokość = 1, wcięcie = 4)
druk (zrzuty (d, wkład = 4))

Oprócz metody Pprint metoda „zrzutów” z modułu JSON została teraz zaimportowana do próbki kodu. Argument zwany „wcięciem” o wartości 4 został dostarczony do metody zrzutu.

Po uruchomieniu powyższej próbki kodu należy uzyskać następujące dane wyjściowe:

„A”: 1,
„B”: 2,
„C”: 3,
„D”: 4

„A”: 1,
„B”: 2,
„C”: 3,
„D”: 4

Jak widać na wyjściu, metoda zrzutów wytwarza lepiej sformatowany słownik Python.

Wniosek

Piękny moduł drukowania lub pprint może być używany do wytworzenia dobrze sformatowanego wyjścia w Python. Standardowe wyjście wielu obiektów Pythona może nie być dokładnie czytelne, szczególnie gdy dane są duże i mają wiele zagnieżdżonych obiektów. W takich przypadkach możesz użyć Pprint, aby poprawić czytelność i formatowanie wyjścia.