Docstrings beim Dekorieren von Funktionen beibehalten
Dein Freund ist mit einem Problem zu dir gekommen. Sie haben ein paar schicke Dekoratoren geschrieben und sie zu den Funktionen in der Open-Source-Bibliothek hinzugefügt, an der sie gearbeitet haben. Als sie jedoch einige Tests durchführten, stellten sie fest, dass alle Docstrings auf mysteriöse Weise aus ihren dekorierten Funktionen verschwunden sind. Zeige deinem Freund, wie man Docstrings und andere Metadaten beibehält, wenn man Dekoratoren schreibt.
Diese Übung ist Teil des Kurses
Funktionen in Python schreiben
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
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)