Aan de slagGa gratis aan de slag

Controleer het returntype

De flexibiliteit van Python rond datatypen wordt vaak gezien als een van de voordelen van de taal. Soms kan het echter voor problemen zorgen als onjuiste datatypen onopgemerkt blijven. Je hebt besloten dat je, om zeker te weten dat je code precies doet wat jij wilt, expliciet de returntypes in al je functies gaat controleren en checkt of ze teruggeven wat je verwacht. Om dat te doen, ga je een decorator maken die controleert of het returntype van de gedecoreerde functie klopt.

Noot: assert is een sleutelwoord waarmee je kunt testen of iets waar is. Als je assert condition typt en condition is True, doet deze functie niets. Als condition False is, geeft deze functie een fout. Het type fout dat wordt opgegooid heet een AssertionError.

Deze oefening maakt deel uit van de cursus

Functies schrijven in Python

Cursus bekijken

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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!')
  
Code bewerken en uitvoeren