Začněte nyníZačněte zdarma

Vypis návratový typ

Ladíš balíček, na kterém pracuješ společně s kamarády. S daty, která vrací jedna z funkcí, se děje něco podivného – zatím ale nevíš, která funkce za to může. Víš, že chyby se do kódu občas vkradou ve chvíli, kdy funkce vrátí jiný typ, než jsi čekal/a. Například pokud očekáváš numpy pole, ale funkce vrátí seznam, může to způsobit neočekávané chování. Aby sis ověřil/a, že právě tohle není příčina problému, rozhodneš se napsat dekorátor print_return_type(), který při každém volání dekorované funkce vypíše typ hodnoty, kterou funkce vrátí.

Toto cvičení je součástí kurzu

Writing Functions in Python

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř vnořenou funkci wrapper(), která se stane novou dekorovanou funkcí.
  • Zavolej dekorovanou funkci.
  • Vrať novou dekorovanou funkci.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

def print_return_type(func):
  # Define wrapper(), the decorated function
  ____ ____(____, ____):
    # Call the function being decorated
    result = ____(____, ____)
    print('{}() returned type {}'.format(
      func.__name__, type(result)
    ))
    return result
  # Return the decorated function
  return ____
  
@print_return_type
def foo(value):
  return value
  
print(foo(42))
print(foo([1, 2, 3]))
print(foo({'a': 42}))
Upravit a spustit kód