New We are sorting MAX channels into categories and territories. Read the news
Loading image…

Чего не проверяет runtime_checkable Protocol



Protocol позволяет описать небольшой интерфейс: например, метод send(destination, message). Класс может удовлетворять ему без наследования — статический анализатор проверяет совместимость структуры и сигнатур.

Декоратор runtime_checkable добавляет возможность isinstance, но такая проверка не валидирует сигнатуры методов. Наличие атрибута send не доказывает, что он принимает нужные аргументы или выполняет обещанное действие.

Поэтому проверка плагина требует нескольких уровней: типизация помогает проверить код, тест контракта — поведение адаптера, схема — внешние данные. Аннотация quantity: int сама по себе не отвергает отрицательное число, а корректная схема заказа не доказывает, что товар есть на складе.

#python #типизация
Views: 69
Open in MAX Report an inaccuracy

Report an inaccuracy

Describe what needs fixing. If you have a source, add a link.

You are leaving datool.ru

The link leads to an external website. datool.ru is not responsible for its content — check the address before entering passwords or payment details.

Redirecting in 10 s

Go