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

Zachování docstringů při dekorování funkcí

Kamarád za tebou přišel s problémem. Napsal šikovné dekorátory a přidal je k funkcím v open-source knihovně, na které pracuje. Při testování ale zjistil, že ze všech dekorovaných funkcí záhadně zmizely docstringy. Ukaž mu, jak při psaní dekorátorů zachovat docstringy a další metadata.

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

Writing Functions in Python

Zobrazit kurz

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 add_hello(func):
  def wrapper(*args, **kwargs):
    print('Hello')
    return func(*args, **kwargs)
  return wrapper

# Decorate print_sum() with the add_hello() decorator
____
def print_sum(a, b):
  """Adds two numbers and prints the sum"""
  print(a + b)
  
print_sum(10, 20)
# Define the docstring
print_sum_docstring = print_sum.____
print(print_sum_docstring)
Upravit a spustit kód