Аннотация в Python — это механизм, позволяющий указывать дополнительную информацию о типах переменных, аргументов функций и возвращаемых значений. Аннотации появились в языке начиная с Python 3.0 (PEP 3107), а с версии 3.5 были расширены системой подсказок типов (type hints) согласно PEP 484.
Python является динамически типизированным языком, что означает: переменные не требуют явного указания типа, и тип определяется во время выполнения. Однако аннотации позволяют разработчику указать ожидаемые типы явно. Это улучшает читаемость кода, помогает в командной разработке и открывает возможности для статического анализа с использованием инструментов вроде mypy.
def приветствие(имя: str) -> str:
return f"Привет, {имя}!"
возраст: int = 25
число_пи: float = 3.14
активен: bool = True
Эти аннотации не влияют на выполнение кода, но позволяют редакторам кода и анализаторам типов предупреждать о возможных ошибках.
from typing import List, Dict, Optional
def получить_студентов(класс: Dict[str, List[str]]) -> Optional[List[str]]:
return класс.get("студенты")
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, для аннотаций можно использовать стандартные типы, без модуля typing:
def сумма_чисел(числа: list[int]) -> int:
return sum(числа)
Присоединяйтесь к нашим курсам для углубленного изучения области ИТ. Отправьте запрос для получения подробной информации!