Код понятный без слов: Аннотации типов в Python
Python - язык с динамической типизацией. Это значит, что переменная x может сначала быть числом 5, а через секунду стать строкой "Привет".
Удобно? Да. Опасно? Еще как! 💣
Представьте функцию:
def process(data):
return data * 2
Что такое data? Число? Строка? Список?
• Если число 10 -> вернет 20.
• Если строка "Hi" -> вернет "HiHi".
• Если список [1] -> вернет [1, 1].
Чтобы не гадать, используйте Аннотации типов (Type Hints).
✅ Как это выглядит:
# Аргумент name - строка, возраст - число
# Функция возвращает строку (-> str)
def greeting(name: str, age: int) -> str:
return f"Привет, {name}! Тебе {age} лет."
🚀 Зачем это нужно?
1. Автодополнение (IDE): Ваш редактор (PyCharm, VS Code) сразу поймет, что name - это строка, и предложит методы .upper(), .split() и т.д. Без аннотаций он будет "слепым".
2. Документация: Коллегам не нужно читать весь код функции, чтобы понять, что в неё передавать.
3. Поиск ошибок: Инструменты вроде mypy проверят код до запуска и скажут: "Эй, ты пытаешься передать число в функцию, которая ждет строку!"
💡 Продвинутый уровень (Python 3.10+):
Можно указывать сложные структуры.
# Список чисел
def sum_list(numbers: list[int]) -> int:
return sum(numbers)
# Или число, ИЛИ строка (Union)
def magic(val: int | str):
print(val)
⚠️ Важно: Python игнорирует аннотации при запуске! Это просто "подсказки". Если вы напишете x: int, но передадите строку, программа запустится (и, скорее всего, упадет с ошибкой внутри). Аннотации это для вас и редактора, а не для интерпретатора.
Начните добавлять типы в свои функции, и вы увидите, насколько удобнее станет писать код! 😎
Подписывайтесь на канал 👉 @python_of