Docstrings behouden bij het decoreren van functies
Je vriend heeft een probleem. Ze hebben een paar handige decorators geschreven en die toegevoegd aan de functies in de open-sourcelibrary waar ze aan werken. Tijdens het testen ontdekten ze echter dat alle docstrings op mysterieuze wijze verdwenen zijn uit de gedecoreerde functies. Laat zien hoe je docstrings en andere metadata kunt behouden wanneer je decorators schrijft.
Deze oefening maakt deel uit van de cursus
Functies schrijven in Python
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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)