Этот материал взят из нашей субботней email-рассылки, посвященной Python. Подпишитесь, чтобы быть в числе первых, кто получит дайджест.
Новые фичи направлены на повышение производительности, улучшение читаемости кода и дополнительные возможности для работы с интерактивной оболочкой. Вот основные нововведения:
Улучшенный интерактивный интерпретатор REPL:
- Теперь поддерживает подсветку промптов, многострочное редактирование с сохранением истории, интерактивный просмотр справки по F1, навигацию по истории с помощью F2, режим вставки по F3.
- Цвета можно отключить через переменные окружения
PYTHON_COLORS
иNO_COLOR
. - Команды help, exit, quit теперь можно вводить без скобок.
- Появилась автоматическая расстановка отступов.
- Реализована корректная обработка вставки кода через буфер обмена, без необходимости вводить две пустые строки для разделения блоков.
- Добавлена поддержка истории на уровне блоков кода, а не отдельных строк, что позволяет легко редактировать и перезапускать целые блоки.
В полной мере новые фичи REPL пока что доступны только на macOS и Unix-подобных системах. Подробнее обо всех возможностях обновленного REPL – в этой статье.
🐍 Библиотека питониста
Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста»
🐍💼 Библиотека собеса по Python
Подтянуть свои знания по Python вы можете на нашем телеграм-канале «Библиотека собеса по Python»
🧩🐍 Библиотека задач по Python
Интересные задачи по Python для практики можно найти на нашем телеграм-канале «Библиотека задач по Python»
Улучшенные сообщения об ошибках:
- Трассировки ошибок по умолчанию теперь цветные, настройки управляются в
PYTHON_COLORS
. - Если есть скрипт с таким же именем, что и модуль, выдается подсказка о переименовании.
- Если задан неправильный ключевой аргумент функции, предлагается возможная правильная версия.
Новые возможности аннотации типов:
- Параметры типов (TypeVar, ParamSpec, TypeVarTuple) теперь поддерживают значения по умолчанию.
- Добавлен TypeIs для более узкого определения типов.
- Добавлен ReadOnly для помеченных только для чтения элементов TypedDict.
Экспериментальный JIT-компилятор:
- Включается при сборке с
--enable-experimental-jit
. - Использует оптимизированный внутренний байт-код Tier 2 и трансляцию в машинный код.
- Зависит от LLVM, имеет режимы только интерпретатора Tier 2.
- Может ускорить выполнение некоторых программ.
Экспериментальная поддержка свободной развязки потоков:
- При сборке с
--disable-gil
отключается глобальная блокировка интерпретатора (GIL). - Позволяет полностью использовать параллелизм на многоядерных системах.
Прочие изменения:
- iOS теперь – официально поддерживаемая платформа.
- Сборщик мусора стал инкрементальным.
- Удалены более 19 устаревших модулей и библиотек.
Все остальные подробности – в официальной документации.
Комментарии