Использование from __future__ import annotations
отличается от обычных аннотаций в Python тем, что с помощью этой директивы можно отложить разрешение аннотаций типов. 1
Это позволяет, например:
- Решить проблему с циклическим импортом. 1 Аннотации остаются в виде строк и не требуют немедленного интерпретирования. 1
- Использовать в аннотациях объекты, которые ещё не определены. 3
- Использовать для аннотаций символы, которые появились в более поздних версиях Python, например символ |, введённый в Python 3.10. 4
Директива from __future__ import annotations
стала доступной с версии Python 3.7. 13