В версии Python 3.13, которая выйдет 7 октября 2024 года, будет представлено множество нововведений – в основном они направлены на повышение удобства использования и улучшение производительности языка. Авторы Real Python подробно рассказали обо всех новых фичах.
Интерактивный интерпретатор REPL
REPL теперь поддерживает многострочное редактирование, возможность быстрого вызова ранее написанного кода целыми блоками, а также правильное копирование и вставку кода с пустыми строками, чего не было в предыдущих версиях. Добавлены новые команды (exit или quit для выхода, clear для очистки экрана) и горячие клавиши (F2 для вывода истории, F3 для перехода в режим вставки) и т. д.
Более информативные сообщения об ошибках
Теперь трассировки ошибок имеют цветовую подсветку, что делает их более заметными и понятными. Кроме того, если вы допустите опечатку в ключевых словах или именах аргументов функций, Python предложит возможные исправления. Улучшено сообщение об ошибках при импорте, особенно если файл с таким же именем уже существует в стандартной библиотеке или в вашем проекте. Python теперь подскажет, что файл или модуль может конфликтовать с библиотекой:
Удаление глобальной блокировки интерпретатора (GIL)
Продолжается работа над удалением GIL – это важнейший шаг на пути к многопоточному Питону, который сможет преодолеть все нынешние проблемы с производительностью языка.
Экспериментальный компилятор JIT (Just-In-Time)
В новой версии Python представлен экспериментальный компилятор JIT, который должен ускорить выполнение кода за счет компиляции на лету – это еще один шаг к радикальному улучшению производительности языка.
Улучшения в статической типизации
Продолжается работа над системой статической типизации, что делает проверку типов в Python более строгой и удобной для разработчиков. Среди самых важных новшеств:
- PEP 696 – теперь можно задавать значения по умолчанию для параметров типов. Это упрощает работу с обобщенными типами.
- PEP 742 – появилось улучшение для сужения типов через механизм TypeIs, что помогает более точно определять типы переменных во время выполнения кода.
CLI-интерфейс для модуля random
Теперь можно использовать python -m random для быстрого получения случайных чисел или выбора из списка элементов.
Новая функция copy.replace()
Добавлена новая функция copy.replace() для модификации неизменяемых объектов. Она позволяет создавать новые версии неизменяемых объектов с измененными полями без необходимости явного указания всех полей.
Улучшение работы с glob-паттернами
Python 3.13 улучшает работу с glob-паттернами в модуле pathlib:
- Паттерн ** теперь рекурсивно обходит все директории и файлы, как в традиционных оболочках:
- Добавлена функция glob.translate() для преобразования glob-паттернов в регулярные выражения:
Удаление отступов в docstrings
Python 3.13 теперь хранит docstrings без лишних отступов, что немного уменьшает использование памяти в больших проектах.
Если бы вы могли добавить ещё одну функцию в Python, что бы это было?
Python 3.13 только что вышел, принеся множество инноваций. Хотите быстро освоить новые возможности и укрепить свои навыки программирования? Курс «Основы программирования на Python» от Proglib Academy уже обновлен и готов помочь вам в этом.
Комментарии