Как сделать функцию счетчик? Python
Нужна функция-счетчик, которая сохраняет свое значение в переменную, а потом при вызове еще раз изменяет эту переменную
Источник: Stack Overflow на русском
Нужна функция-счетчик, которая сохраняет свое значение в переменную, а потом при вызове еще раз изменяет эту переменную
Для этого можно использовать глобальную переменную, но вообще их надо использовать аккуратно:
s = 0
def func():
global s
s += 1
return None
Здесь при каждом запуске функции счетчик будет увеличиваться на 1, таким образом написав print(s)
в конце-можно узнать сколько раз запускалась функция func()
.
Всё-таки использовать глобальные переменные без явной нужды - не очень хорошо.
Если вам нужна функция, которая между вызовами должна сохранять какое-то состояние, то почти всегда стоит это делать через классы:
class CounterFunction:
def __init__(self):
self.counter = 0
def __call__(self):
self.counter += 1
func = CounterFunction()
func()
func()
func()
print(func.counter) # Выведет: 3