Как посчитать количество вызовов функции python?

Аватар пользователя Elena Gromova
Elena Gromova
23 сентября 2024

Для подсчета количества вызовов функции в Python можно использовать декоратор. Декоратор - это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию. В данном случае мы можем создать декоратор, который будет подсчитывать количество вызовов функции и выводить результат.

Пример кода с декоратором для подсчета количества вызовов функции:

def count_calls(func):
    def wrapper(*args, **kwargs):
        wrapper.calls += 1
        print(f""Функция {func.__name__} была вызвана {wrapper.calls} раз"")
        return func(*args, **kwargs)

    wrapper.calls = 0
    return wrapper

@count_calls
def my_function():
    print(""Вызов функции"")

my_function()
my_function()
my_function()

При выполнении данного кода мы получим следующий вывод:

Функция my_function была вызвана 1 раз
Вызов функции
Функция my_function была вызвана 2 раз
Вызов функции
Функция my_function была вызвана 3 раз
Вызов функции
0 0