November 12

Python 3.13 – что нового

Хоть и с довольно большим опозданием (он вышел 7 октября), но пишу что нового в Python.

Можете подписаться на мой канал, там больше всякого разного про IT.
На рунете не нашёл много видео/статей про новый Python, разве что на английском.

1. Убрали GIL

Итак, начнём с того, что да, свершилось, – в новом Python убрали GIL (global interpreter lock)

Вкратце, что такое GIL:

GIL (глобальная блокировка интерпретатора) – это такая технология, которая допускает безопасную работу многопоточной программы, ограничивая работу лишь одним потоком в каждый момент времени.

Теперь, можно с помощью параметра --disable-gil отключить его для запуска программы.

2. Добавились возможности аннотации типов

  • TypeVar, ParamSpec, TypeVarTuple теперь поддерживают значения по умолчанию;
  • Добавлен TypeIs для более узкого определения типов;
  • Добавлен ReadOnly элементов только для чтения в TypedDict.

3. Улучшения в интерактивном интерпретаторе REPL

Работает пока только на macOS и unix-системах.
Вкратце, что это: когда вы запускаете python через терминал, у вас запускается REPL.

Что добавилось:

  • Автоматические отступы;
  • подсветка промптов, многострочное редактирование с сохранением истории;
  • просмотр справки по F1, навигацию по истории по F2, режим вставки по F3;
  • Цвета можно отключить через переменные окружения PYTHON_COLORS и NO_COLOR;
  • Команды help, exit, quit теперь можно вводить без скобок;
  • Улучшение работы буфера обмена.

4. JIT-компилятор

JIT (Just-In-Time) компилятор – инструмент, который компилирует код Python в машинный во время выполнения программы.

Думаю тут добавит нечего, просто добавляете --enable-experimental-jit при запуске и код комбинируется "на лету".