Найти тему
Python For You

Польза функции pprint

Часто в разработке требуется вывести в консоль структуры данных. Иногда структуры могут быть довольно сложными, например, если используются вложенные словари.

Пример сложной структуры после парсинга json из api
Пример сложной структуры после парсинга json из api

При дебаге нам может потребоваться распечатать данную переменную, представляющую собой словарь

Вот что мы увидим:

Распечатывание в консоль словаря со структурой данных
Распечатывание в консоль словаря со структурой данных

Все распечаталось в виде одной строчки, тяжело для глаз, и структуру уже понять очень сложно, придется многократно прокручивать ползунок.

Как нам выйти из этой ситуации?

На помощь приходит функция pprint из одноименного модуля

Простое применение функции pprint для распечатки сложного словаря
Простое применение функции pprint для распечатки сложного словаря

Как видим, даже без дополнительных настроек читать вывод в консоль стало гораздо легче - сразу понятно что из себя представляет переменная org_struct

У функции pprint есть также тонкие настройки, позволяющие подстроить вывод в консоль.

Рассмотрим некоторые из них

Например, аргумент depth позволяет ограничить уровни вложенной структуры, которые мы хотим видеть (по умолчанию depth=None, т.е. глубина никак не ограничивается)

Аргумент depth ограничивает глубину отображения структуры
Аргумент depth ограничивает глубину отображения структуры

А параметр indent регулирует отступ между уровнями вложенности (по умолчанию равен 1)

Аргумента indent регулирует отступ
Аргумента indent регулирует отступ

Спасибо за прочтение!
Также
здесь разбираю задачки с собеседований и больше теории