Что такое модуль __future__ в Python и для чего он используется

Ответ

Модуль __future__ — это специальный модуль в Python, который позволяет активировать новые языковые возможности, которые еще не являются стандартными в текущей версии, но появятся в будущих релизах.

Основная цель — обеспечить плавный переход и обратную совместимость, позволяя разработчикам постепенно адаптировать свой код к грядущим изменениям синтаксиса или поведения.

Важное правило: инструкции from __future__ import ... должны находиться в самом начале файла, до любого исполняемого кода (допускаются только комментарии и docstring).

Пример: переход к делению из Python 3

В Python 2 операция / для целых чисел выполняла целочисленное деление. Чтобы включить поведение Python 3 (вещественное деление), можно было использовать __future__.

# Этот код, запущенный в Python 2, вернет 2.5 вместо 2
from __future__ import division

result = 5 / 2
print(result) # Вывод: 2.5

Другие популярные импорты:

  • print_function: Превращает print из инструкции в функцию print(), как в Python 3.
  • annotations: Позволяет использовать отложенную обработку аннотаций типов (PEP 563), что решает проблемы с циклическими зависимостями в тайп-хинтах.