У меня есть декоратор, который я хочу увеличить счетчик в любое время, когда функция проходит через декоратор. До сих пор это мой кодPython - количество раз проходит через декоратор
from functools import wraps
def count_check(function):
"""Returns number of times any function with this decorator is called
"""
count = []
@wraps(function)
def increase_count(*args, **kwargs):
count.append(1)
return function(*args, **kwargs), len(count)
return increase_count
Он отлично работает, пока другая функция не проходит через декоратор и рассчитывать равным 0 для этой функции. Как я могу суммировать общее количество раз?
работает для меня. Пожалуйста, покажите код, который действительно вызывает плохое поведение. –
Здравствуйте, нет ошибки, просто неожиданного поведения. Например, если я украшаю две функции с помощью @count_check, они оба имеют свой собственный счет, а не суммируют все счета. – Ladmerc
Вам понадобится глобальная переменная счетчика, если вы хотите, чтобы общее количество всех вызовов функции было украшено с помощью @count_check. – junnytony