TGViewer
Python академия Python академия @pythonofff · 7.14K subscribers
Post #3516 1.01K
📝 Код понятный без слов: Аннотации типов

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, но передадите строку, программа запустится (и, скорее всего, упадет с ошибкой внутри). Аннотации это для вас и редактора, а не для интерпретатора.

Начните добавлять типы в свои функции, и вы увидите, насколько удобнее станет писать код! 😎

📲 Мы в MAX

Подписывайтесь на канал 👉@pythonofff
  • ❤ 4
  • 👍 4
More from @pythonofff
  1. Sep 24, 2026Анонимные функции Часто функции нужны только один раз, причем короткие. И избыточно создав…
  2. Sep 23, 2026Бесконечные списки Мы уже рассказывали про важность копирования списков. Но именно из-за т…
  3. Sep 21, 2026Заглушки Для создания пустых функций и классов есть сразу два способа соответствующих прав…
  4. Sep 20, 2026Параметры функции *args, **kwargs Думаю, многие хоть раз видели такую запись, сейчас мы уз…
  5. Sep 18, 2026В одну строчку Python гибкий язык и позволяет многое сделать в одну строчку. К примеру, ма…
  6. Sep 16, 2026Распаковка Неудобно каждый раз для вывода объединять строки через join() или тем более как…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →