Записи контрактов теперь разбирает parse_contract из прошлого урока, и 0305 с 0306 до картотеки не доходят. Лорра кладёт на стол папку 0307. В ней не запись, а код: две функции, через которые Архив выдаёт контракты.
Обе функции 0307 про одно: что mypy знает о значении в каждой точке программы. fetch знает слишком мало: тип ответа зависит от того, что передали, а подпись этого не говорит. is_contract заставляет mypy знать слишком много: после её «да» он считает словарь контрактом, хотя никто этого не проверял.
В этом уроке ты научишь подпись менять ответ в зависимости от аргумента, разберёшь, как mypy сужает тип внутри if, и напишешь стража, которому можно верить. Подделку 0307 поймает тот, кто сверит стража с правдой.
урок из курса
Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.
Оплата пока не подключена: премиум и курсы открываются промокодом.