Новые функции из последних релизов Python — Tproger — сайт для программистов о программировании

Posted by

Не каждый день питонисты сталкиваются со всеми апгрейдами языка, и расшифровка релиз-полотна точно поможет улучшить стиль и приблизить его к стандартам PEP и Zen of Python.

Прокачанный трейсинг ошибок

Классической проблемой новичка становится отладка программы: по трейсбеку (описанию) определить, в чем дело, бывает весьма затруднительно:

Теперь для указания на конкретный объект, вызвавший ошибку, используется строка с несколькими ^ (символ называется “циркумфлекс”). В сниппете выше мы просим поделить на ноль, и конечно, это вызывает ошибку:

Не скажу, что это снимает 99% нагрузки, но все же чуть лучше “подводит” нас к сути.

Улучшенный синтаксис параллельных процессов

Раньше мы вручную отслеживали все свои задачи в списке, прежде чем передать их в collect():

Теперь используем контекстный менеджер:

Ускоренный импорт библиотек

Если запустить следующий скрипт в Python версий 2.x.x и 3.11.4, то вы заметите солидный прирост в скорости подключения инструментов. В забавной мини-программе ниже выводится скорость импорта библиотек _io, marshal и проч., да еще и ASCII-графика с питончиком:

Группы исключений

Теперь можно объединять ошибки некоторых видов в группу и обрабатывать их одинаково:

Интересно, насколько ускорится процесс разработки, если вываливать на питониста сразу все причины падения? В выводе ниже одновременно и ошибка типа, и ошибка некорректного значения.

Обогащение деталей ошибки

Теперь разработчик вправе дополнить ошибку кастомной заметкой:

Фича становится восхитительно полезной, когда типов ошибок много:

Чтение TOML-конфигов

Этот формат стал популярен относительно недавно и даже претендует на замену JSON ввиду повышенной “человекочитаемости”:

Наконец, разработчики ЯП зарелизили встроенную библиотеку для чтения таких файлов:

Заключение

Некоторые практикующие питонисты, молящиеся на проработанность ЯП, такие нюансы ждали годами. Но новичку в них, на мой взгляд, может быть непросто разобраться. И еще сложнее читать оригинальное описание релиза.

Так что новеньким, стремящимся прокачать скилл, советую сначала изучить подборки вроде этой: “10 фишек Python, которые поднимут ваш скилл на новый уровень”.

Какие еще фичи свежих релизов вы используете? Поделитесь в комментариях.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *