Kom igångKom igång gratis

Bevara docstrings vid dekorering av funktioner

En vän har kommit till dig med ett problem. De har skrivit några smarta dekoratorer och lagt till dem i funktionerna i det open source-bibliotek de arbetat på. Men när de körde några tester upptäckte de att alla docstrings mystiskt nog försvunnit från de dekorerade funktionerna. Visa din vän hur man bevarar docstrings och annan metadata när man skriver dekoratorer.

Den här övningen är en del av kursen

Att skriva funktioner i Python

Visa kurs

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod