Загружаем изображение…

📝 Код понятный без слов: Аннотации типов



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
Просмотры: 8 771
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти