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
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)