Перевірте тип значення, що повертається
Гнучкість 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!')