Skip to content

Latest commit

 

History

History
21 lines (15 loc) · 1.13 KB

task1.md

File metadata and controls

21 lines (15 loc) · 1.13 KB

Необходимо реализовать декоратор @strict Декоратор проверяет соответствие типов переданных в вызов функции аргументов типам аргументов, объявленным в прототипе функции. (подсказка: аннотации типов аргументов можно получить из атрибута объекта функции func.__annotations__ или с помощью модуля inspect) При несоответствии типов бросать исключение TypeError Гарантируется, что параметры в декорируемых функциях будут следующих типов: bool, int, float, str Гарантируется, что в декорируемых функциях не будет значений параметров, заданных по умолчанию

def strict(func):
    ...


@strict
def sum_two(a: int, b: int) -> int:
    return a + b


print(sum_two(1, 2))  # >>> 3
print(sum_two(1, 2.4))  # >>> TypeError