Python 3.9 уже здесь! Волонтеры со всего мира работали над улучшением Python в течение последнего года. Хотя бета-версии были доступны уже некоторое время, первая официальная версия Python 3.9 была выпущена 5 октября 2020 года.
Каждый новый выпуск Python включает в себя новые, улучшенные версии старых функции. Документация дает полный список изменений. Ниже мы подробно рассмотрим самые крутые функции, которые предлагает последняя версия Python.
1. Python будет быстрее по умолчанию
Каждая версия Python обладает улучшенной производительностью по сравнению с предыдущей версией. Python 3.9 включает в себя два больших улучшения, которые повышают производительность, не требуя никаких изменений в существующем коде.
Первое улучшение включает в себя более широкое использование протокола vectorcall, введенного в Python 3.8. vectorcall делает многие общие вызовы функций быстрее, минимизируя или устраняя временные объекты, созданные для вызова. В Python 3.9 несколько встроенных модулей Python-range, tuple, set, frozenset, list, dict — используют vectorcall внутренне для ускорения выполнения.
2. Новый Парсер
Python теперь имеет новый синтаксический анализатор в этом выпуске, основанный на PEG вместо LL(1). Он анализирует код сверху вниз, слева направо, с видом только одного токена. Можно сказать, что это самое существенное изменение для данного релиза. Синтаксический анализатор на основе PEG позволяет Python быть более гибким, особенно при разработке новых языковых функций.
Мы можем начать использовать этот парсер с Python 3.10 и более поздних версий. Старый парсер вместе с функциональными возможностями, зависящими от него, уже устареет в Python 3.10.
3. Дополнительные функции Python строки и словаря
Python позволяет легко управлять общими типами данных, и Python 3.9 дополняет эту простоту новыми функциями для строк и словарей. Для строк существуют новые методы удаления префиксов и суффиксов, операции, которые уже давно требуют много ручной работы для выполнения. Для словарей теперь существуют операторы объединения, один для объединения двух словарей в новый словарь и один для обновления содержимого одного словаря другим словарем.
4. Тайп хинтинг
При кодировании на Python нам не нужно указывать типы данных для переменных, так как Python динамично типизирован. Но когда мы выполняем некоторыe операции с переменными, полезно знать, какой тип переменной ожидается в выражении.
Python 3.9 включает в себя тайп хинтинг, которые определяют предупреждения на основе типов в качестве подсказок. Это особенно важно для линтеров и контролеров кода. Это обеспечивает согласованность в больших кодовых базах.