Ответ
В Python для указания типов используются аннотации типов (type hints), введенные в PEP 484. Они добавляют информацию о типах, но не влияют на исполнение кода, так как Python остается языком с динамической типизацией.
Основное назначение:
- Статический анализ: Инструменты, такие как
mypy, могут проверить код на наличие ошибок типизации до его запуска. - Подсказки в IDE: Редакторы кода используют аннотации для автодополнения и навигации.
- Читаемость: Код становится более понятным и самодокументируемым.
Синтаксис:
Тип аргумента указывается через двоеточие (:) после его имени, а тип возвращаемого значения — через стрелку (->) перед двоеточием функции.
# name должен быть строкой, age - целым числом
# Функция должна вернуть строку
def get_user_info(name: str, age: int) -> str:
return f"Пользователь: {name}, возраст: {age}"
# Пример использования
user_data = get_user_info("Alice", 30)
print(user_data)
Ключевые особенности:
- Нет принудительной проверки: Python не выдаст ошибку, если вы передадите в функцию аргумент неверного типа. Проверка типов — задача внешних инструментов.
-
Модуль
typing: Для сложных типов (списки, словари, опциональные значения) используются специальные конструкции из модуляtyping.from typing import List, Optional def process_ids(user_ids: List[int]) -> Optional[str]: if not user_ids: return None return f"Обработано ID: {', '.join(map(str, user_ids))}"