Узор висит над столом Палаты низко, спираль на корпусе тусклая. Перед ним журнал вызовов проверки подписи за ночь, и в одной записи два числа там, где должна быть подпись-строка. Это подделка 0304. Проверку обернули декоратором, она стала считать вызовы, и с той минуты ей можно было передать что угодно.
Декораторы ты писал в уроке 51: функция принимает функцию и отдаёт обёртку, functools.wraps переносит имя и документацию. Тогда типов не было, и обёртка честно принимала *args, **kwargs. Теперь у каждой функции Палаты есть сигнатура, и протоколы на неё опираются. Обёртка, которая принимает что угодно, это дыра в каждом из них.
Сегодня ты научишься записывать тип «функция с такими-то параметрами» и, главное, тип «те же параметры, что у той функции, какими бы они ни были». Это последний инструмент, которого не хватало декораторам арсенала, чтобы стоять в коде под --strict.
урок из курса
Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.