Фичи из свежих релизов Python
Рассказываем, какие новые функции появились в свежих релизах Python. Среди них прокачанный трейсинг ошибок и чтение TOML-конфигов.
951 открытий4К показов
Не каждый день питонисты сталкиваются со всеми апгрейдами языка, и расшифровка релиз-полотна точно поможет улучшить стиль и приблизить его к стандартам PEP и Zen of Python.
Прокачанный трейсинг ошибок
Классической проблемой новичка становится отладка программы: по трейсбеку (описанию) определить, в чем дело, бывает весьма затруднительно:
Теперь для указания на конкретный объект, вызвавший ошибку, используется строка с несколькими ^ (символ называется “циркумфлекс”). В сниппете выше мы просим поделить на ноль, и конечно, это вызывает ошибку:
Не скажу, что это снимает 99% нагрузки, но все же чуть лучше “подводит” нас к сути.
Улучшенный синтаксис параллельных процессов
Раньше мы вручную отслеживали все свои задачи в списке, прежде чем передать их в collect():
Теперь используем контекстный менеджер:
Ускоренный импорт библиотек
Если запустить следующий скрипт в Python версий 2.x.x и 3.11.4, то вы заметите солидный прирост в скорости подключения инструментов. В забавной мини-программе ниже выводится скорость импорта библиотек _io, marshal и проч., да еще и ASCII-графика с питончиком:
Группы исключений
Теперь можно объединять ошибки некоторых видов в группу и обрабатывать их одинаково:
Интересно, насколько ускорится процесс разработки, если вываливать на питониста сразу все причины падения? В выводе ниже одновременно и ошибка типа, и ошибка некорректного значения.
Обогащение деталей ошибки
Теперь разработчик вправе дополнить ошибку кастомной заметкой:
Фича становится восхитительно полезной, когда типов ошибок много:
Чтение TOML-конфигов
Этот формат стал популярен относительно недавно и даже претендует на замену JSON ввиду повышенной “человекочитаемости”:
Наконец, разработчики ЯП зарелизили встроенную библиотеку для чтения таких файлов:
Заключение
Некоторые практикующие питонисты, молящиеся на проработанность ЯП, такие нюансы ждали годами. Но новичку в них, на мой взгляд, может быть непросто разобраться. И еще сложнее читать оригинальное описание релиза.
Так что новеньким, стремящимся прокачать скилл, советую сначала изучить подборки вроде этой: “10 фишек Python, которые поднимут ваш скилл на новый уровень”.
Какие еще фичи свежих релизов вы используете? Поделитесь в комментариях.
951 открытий4К показов