Logo of Jet School
ГлавнаяОтзывыНаши курсыАкцииПроекты
О насБлогНовостиМероприятияГалереяГлоссарий
Контакты
Russia flagRU
Azerbaijan flagAZ
Russia flagRU
Russia flagRU
Azerbaijan flagAZ
Russia flagRU

JET School

Вдохновляющее образование для яркого будущего

Баку, ул. Олимпия 6А (около станции метро Гянджлик, рядом с Министерством Спорта)
+994 70 983 66 99+994 70 983 66 99info@jetschool.az
Понедельник - Воскресенье: 09:30 - 22:00

Навигация

  • Главная
  • О нас
  • Галерея
  • Блог

Курсы

  • Курс IT и компьютерной инжеренерии
  • Курс Робототехники
  • Курс кибербезопасности
  • Курс UX/UI дизайна
  • Курс по разработки 2D игр на Unity
  • Курс серверного программирования на C# .NET

Ресурсы

  • Глоссарий
  • Новости
  • Проекты
  • Отзывы
  • Контакты

© 2021 – 2026 JET School. Авторские права защищены.

Что такое Аннотация?

Logo of Jet School

Что такое Аннотация?

Аннотация в Python — это механизм, позволяющий указывать дополнительную информацию о типах переменных, аргументов функций и возвращаемых значений. Аннотации появились в языке начиная с Python 3.0 (PEP 3107), а с версии 3.5 были расширены системой подсказок типов (type hints) согласно PEP 484.

Python является динамически типизированным языком, что означает: переменные не требуют явного указания типа, и тип определяется во время выполнения. Однако аннотации позволяют разработчику указать ожидаемые типы явно. Это улучшает читаемость кода, помогает в командной разработке и открывает возможности для статического анализа с использованием инструментов вроде mypy.

Пример базовой аннотации

def приветствие(имя: str) -> str:

return f"Привет, {имя}!"

  • имя: str — говорит, что функция ожидает строку.
  • -> str — указывает, что функция возвращает строку.

Аннотация переменных


возраст: int = 25

число_пи: float = 3.14

активен: bool = True

Эти аннотации не влияют на выполнение кода, но позволяют редакторам кода и анализаторам типов предупреждать о возможных ошибках.

Преимущества аннотаций

  1. Улучшение понятности и читаемости кода.
  2. Поддержка подсказок и автозаполнения в IDE.
  3. Возможность использовать анализаторы типов (mypy, pyright и т.д.).
  4. Облегчение работы в командах и при больших проектах.
  5. Упрощение процесса рефакторинга.

Расширенные типы с использованием typing

from typing import List, Dict, Optional


def получить_студентов(класс: Dict[str, List[str]]) -> Optional[List[str]]:

return класс.get("студенты")

  • Dict[str, List[str]] — словарь, где ключи — строки, а значения — списки строк.
  • Optional[List[str]] — может возвращать List[str] или None.

Аннотации в классах

class Круг:

def __init__(self, радиус: float) -> None:

self.радиус: float = радиус


def площадь(self) -> float:

return 3.14159 * self.радиус ** 2

Просмотр аннотаций во время выполнения

Аннотации доступны через специальный атрибут __annotations__:

def сумма(a: int, b: int) -> int:

return a + b


print(сумма.__annotations__)

# Вывод: {'a': <class 'int'>, 'b': <class 'int'>, 'return': <class 'int'>}

Использование встроенных типов (Python 3.9+)

Начиная с Python 3.9, для аннотаций можно использовать стандартные типы, без модуля typing:

def сумма_чисел(числа: list[int]) -> int:

return sum(числа)

Вывод

  • Аннотации позволяют указывать ожидаемые типы данных в коде Python.
  • Они не обязательны и не влияют на выполнение кода, но помогают при разработке, особенно в больших и сложных проектах.
  • Благодаря аннотациям код становится более стабильным, понятным и сопровождаемым.

Аннотация в Python — это механизм, позволяющий указывать дополнительную информацию о типах переменных, аргументов функций и возвращаемых значений. Аннотации появились в языке начиная с Python 3.0 (PEP 3107), а с версии 3.5 были расширены системой подсказок типов (type hints) согласно PEP 484.

Python является динамически типизированным языком, что означает: переменные не требуют явного указания типа, и тип определяется во время выполнения. Однако аннотации позволяют разработчику указать ожидаемые типы явно. Это улучшает читаемость кода, помогает в командной разработке и открывает возможности для статического анализа с использованием инструментов вроде mypy.

Пример базовой аннотации

def приветствие(имя: str) -> str:

return f"Привет, {имя}!"

  • имя: str — говорит, что функция ожидает строку.
  • -> str — указывает, что функция возвращает строку.

Аннотация переменных

возраст: int = 25

число_пи: float = 3.14

активен: bool = True

Эти аннотации не влияют на выполнение кода, но позволяют редакторам кода и анализаторам типов предупреждать о возможных ошибках.

Преимущества аннотаций

  1. Улучшение понятности и читаемости кода.
  2. Поддержка подсказок и автозаполнения в IDE.
  3. Возможность использовать анализаторы типов (mypy, pyright и т.д.).
  4. Облегчение работы в командах и при больших проектах.
  5. Упрощение процесса рефакторинга.

Расширенные типы с использованием typing

from typing import List, Dict, Optional

def получить_студентов(класс: Dict[str, List[str]]) -> Optional[List[str]]:

return класс.get("студенты")

  • Dict[str, List[str]] — словарь, где ключи — строки, а значения — списки строк.
  • Optional[List[str]] — может возвращать List[str] или None.

Аннотации в классах

class Круг:

def __init__(self, радиус: float) -> None:

self.радиус: float = радиус

def площадь(self) -> float:

return 3.14159 * self.радиус ** 2

Просмотр аннотаций во время выполнения

Аннотации доступны через специальный атрибут __annotations__:

def сумма(a: int, b: int) -> int:

return a + b

print(сумма.__annotations__)

# Вывод: {'a': <class 'int'>, 'b': <class 'int'>, 'return': <class 'int'>}

Использование встроенных типов (Python 3.9+)

Начиная с Python 3.9, для аннотаций можно использовать стандартные типы, без модуля typing:

def сумма_чисел(числа: list[int]) -> int:

return sum(числа)

Вывод

  • Аннотации позволяют указывать ожидаемые типы данных в коде Python.
  • Они не обязательны и не влияют на выполнение кода, но помогают при разработке, особенно в больших и сложных проектах.
  • Благодаря аннотациям код становится более стабильным, понятным и сопровождаемым.

Заполните форму чтобы узнать больше о наших IT курсах

Укажите возраст (сколько вам лет?)
Выберите язык обучения

Связанные термины:

Начни изучать IT уже сегодня

Категория: Программирование
Атрибут
Аутентификация
Авторизация
Асинхронное программирование