ПочатиПочніть безкоштовно

Лічильник

Ви працюєте над новим вебзастосунком і хочете з'ясувати, скільки разів викликається кожна з його функцій. Тож ви вирішуєте написати декоратор, який додасть лічильник до кожної функції, яку ви декоруєте. У майбутньому ці дані допоможуть визначити, чи є частини коду, які можна прибрати, бо застосунок їх більше не використовує.

Ця вправа є частиною курсу

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

Переглянути курс

Інструкції до вправи

  • Викличте функцію, яку декорують, і поверніть результат.
  • Поверніть нову декоровану функцію.
  • Задекоруйте foo() декоратором counter().

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

def counter(func):
  def wrapper(*args, **kwargs):
    wrapper.count += 1
    # Call the function being decorated and return the result
    return ____
  # Set count to 0 to initialize call count for each new decorated function
  wrapper.count = 0
  # Return the new decorated function
  ____

# Decorate foo() with the counter() decorator
____
def foo():
  print('calling foo()')
  
foo()
foo()

print('foo() was called {} times.'.format(foo.count))
Редагувати та запускати код