Код Middle Декораторы обновлено
Декоратор проверки типов аргументов
Условие
Напишите параметризованный декоратор accepts(*types): перед вызовом проверяет, что i-й позиционный аргумент является экземпляром types[i] (bool не считается int), иначе бросает TypeError. Проверка run(args) вызывает функцию area(w, h), задекорированную @accepts(int, int), и возвращает результат или строку "TypeError".
Примеры
run([2, 3]) // 6
run([2, "3"]) // "TypeError"
run([2.5, 3]) // "TypeError"
Как подойти
Подсказки: 2
- Фабрика декоратора, декоратор, обёртка.
isinstance(True, int)истинно.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Предыдущий вопрос
Декоратор ограничения частоты вызовов
Следующий вопрос
Декоратор с параметром: заполните пропуски