Source: From future import annotations
← Renderedmarkdown source:
---
description: Отложенная аннотация python
tags: python-standart-library python
title: From future import annotations
---
Объясняю значение `from __future__ import annotations`
Функция `annotations` относится к PEP 563 - речь идет об Отложенной оценке аннотаций. Это усовершенствование существующей функции аннотаций, которая изначально была введена в python 3.0 и переопределена для подсказок типа в python 3.5
Поскольку это изменение нарушает совместимость, новое поведение должно быть включено для каждого модуля в Python3.7+, подразумевающего отложенную аннотацию. Необходимо использовать `from __future__ import annotations`. Такое поведение является поведением по умолчанию начиная Python 3.10
Пример:
```python
class A:
def f(self) -> A: # NameError: name 'A' is not defined
pass
```
```python
from __future__ import annotations
class A:
def f(self) -> A:
pass
```
- [[python-standart-library]]
- [[python-patterns]]
- [[type-annotation]]
- [[typing]]
[python-standart-library]: ../lists/python-standart-library "Стандартная библиотека python и полезные ресурсы"
[python-patterns]: python-patterns "Python patterns programming"
[type-annotation]: type-annotation "Аннотация типов в python"
[typing]: typing "Typing"