Ответ
Модуль __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), что решает проблемы с циклическими зависимостями в тайп-хинтах.