🐍 Укус питона 🐍
@byteofpython2.9K подп.
283просмотров
9.7%от подписчиков
6 ноября 2025 г.
Score: 311
👩‍💻 Контракты через аннотации — не просто подсказки типов Аннотации типов (type hints) — это не только помощь IDE. С их помощью можно внедрять контроль логики исполнения — проверять типы, значения и инварианты прямо во время работы программы. ➡️ Пример: from typing import get_type_hints def enforce_types(func): hints = get_type_hints(func) def wrapper(*args, **kwargs): for name, arg in zip(hints, args): if not isinstance(arg, hints[name]): raise TypeError(f"{name} должен быть {hints[name].name}") return func(*args, **kwargs) return wrapper @enforce_types def greet(name: str, age: int): print(f"{name}, {age}") greet("Анна", 25) # ✅ greet("Анна", "25") # ❌ TypeError 📌 Здесь аннотации становятся частью исполняемого контракта, а не просто документацией.
283
просмотров
832
символов
Нет
эмодзи
Нет
медиа

Другие посты @byteofpython

Все посты канала →
👩‍💻 Контракты через аннотации — не просто подсказки типов — @byteofpython | PostSniper