Проверка типа возвращаемого значения
Гибкость Python в работе с типами данных часто называют одним из главных преимуществ языка. Однако это может стать источником проблем, если некорректные типы данных остаются незамеченными. Чтобы убедиться, что ваш код работает именно так, как задумано, вы решили явно проверять типы возвращаемых значений во всех функциях. Для этого вы создадите декоратор, который проверяет, соответствует ли тип возвращаемого значения декорируемой функции ожидаемому.
Примечание: assert — это ключевое слово, которое позволяет проверить истинность некоторого условия. Если написать assert condition и condition равно True, ничего не произойдёт. Если же condition равно False, будет вызвано исключение типа AssertionError.
Это упражнение является частью курса
Написание функций на Python
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
def returns_dict(func):
# Complete the returns_dict() decorator
def wrapper(____):
result = ____
assert type(result) == dict
return result
____
@returns_dict
def foo(value):
return value
try:
print(foo([1,2,3]))
except AssertionError:
print('foo() did not return a dict!')