Comprueba el tipo de devolución
La flexibilidad de Python en cuanto a los tipos de datos suele citarse como una de las ventajas del lenguaje. Aunque a veces puede causar problemas si los tipos de datos incorrectos pasan desapercibidos. Has decidido que, para asegurarte de que tu código hace exactamente lo que quieres que haga, comprobarás explícitamente los tipos de retorno de todas tus funciones y te asegurarás de que devuelven lo que esperas. Para ello, vas a crear un decorador que compruebe si el tipo de retorno de la función decorada es correcto.
Nota: assert
es una palabra clave que puedes utilizar para comprobar si algo es cierto. Si escribes assert condition
y condition
es True
, esta función no hace nada. Si condition
es False
, esta función genera un error. El tipo de error que provoca se denomina AssertionError
.
Este ejercicio forma parte del curso
Escribir funciones en Python
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
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!')