ÎncepețiÎncepe gratuit

Afișează tipul valorii returnate

Depanezi un pachet la care ai lucrat împreună cu prietenii tăi. Ceva ciudat se întâmplă cu datele returnate de una dintre funcții, dar nu știi exact care dintre ele provoacă problema. Uneori, erorile se strecoară în cod atunci când te aștepți ca o funcție să returneze un anumit tip de date, dar aceasta returnează altceva. De exemplu, dacă te aștepți ca o funcție să returneze un array NumPy, dar primești o listă, pot apărea comportamente neașteptate. Pentru a exclude această posibilitate, decizi să scrii un decorator, print_return_type(), care să afișeze tipul variabilei returnate la fiecare apel al oricărei funcții pe care o decorează.

Acest exercițiu face parte din cursul

Scrierea funcțiilor în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează o funcție imbricată, wrapper(), care va deveni noua funcție decorată.
  • Apelează funcția care este decorată.
  • Returnează noua funcție decorată.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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}))
Editează și rulează codul