Mempertahankan docstring saat mendekorasi fungsi
Teman Anda datang dengan sebuah masalah. Ia telah menulis beberapa decorator yang keren dan menambahkannya ke fungsi-fungsi dalam pustaka open-source yang sedang ia kerjakan. Namun, saat menjalankan pengujian, ia mendapati semua docstring tiba-tiba hilang dari fungsi-fungsi yang didekorasi. Tunjukkan kepada teman Anda cara mempertahankan docstring dan metadata lainnya saat menulis decorator.
Latihan ini adalah bagian dari kursus
Menulis Function di Python
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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)