НачатьНачать бесплатно

Сохранение строк документации при декорировании функций

Ваш друг обратился к вам с проблемой. Он написал несколько полезных декораторов и применил их к функциям в библиотеке с открытым исходным кодом, над которой работает. Однако при тестировании выяснилось, что строки документации таинственным образом исчезли из всех задекорированных функций. Покажите другу, как сохранять строки документации и другие метаданные при написании декораторов.

Это упражнение является частью курса

Написание функций на Python

Посмотреть курс

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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)
Редактировать и запускать код