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

Аватар пользователя Ivan Mamtsev
Ivan Mamtsev
29 октября 2024

Для того чтобы вывести количество вызовов функции abc в Python, можно использовать замыкания, а конкретнее декоратор:

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

@count_calls
def abc():
    # тело функции здесь
    pass

abc()  # Функция abc вызвана 1 раз(а)
abc()  # Функция abc вызвана 2 раз(а)
abc()  # Функция abc вызвана 3 раз(а)

При каждом вызове функции abc, переменная wrapper.count будет увеличиваться на 1. Использование декоратора позволяет нам подсчитывать любую другую функцию, не меняя ее кода.

0 0
Познакомьтесь с основами Python бесплатно