В Python хотят добавить новый форматтер
!p для pretty print прямо в f-string.Сейчас:
print(data)
Часто превращается в нечитаемую стену текста. Особенно если это большой
dict, JSON или сложный объект.Решение:
print(f"{data!p}")
Python автоматически красиво форматирует вывод — примерно как
pprint.pformat().Больше не нужно импортировать
pprint ради дебага.Ещё интереснее —
__pprint__()У классов может появиться специальный метод:
__pprint__()
Он позволит кастомизировать красивый вывод объекта. Например, сейчас
repr() часто выглядит странно или перегруженно.А с
__pprint__() можно явно указать:— какие поля показывать
— какие скрывать
— какие значения опускать по умолчанию
То есть объект будет отображаться так, как удобно человеку.
Почему это полезно
Во время дебага мы постоянно делаем:
print(variable)
Но сложные структуры читаются ужасно.
!p превращает вывод в человекочитаемый формат — прямо внутри f-string.Это пока только Draft PEP для Python 3.16. То есть идея ещё обсуждается и может измениться. Но если примут — debugging в Python станет заметно приятнее.
👇 Как думаете: полезная фича или очередной синтаксический сахар?
📍 Навигация: Вакансии • Задачи • Собесы
Библиотека питониста
#буст