Как сделать статические переменные в функции в Python? — Q&A Хекслет
2026-02-26 20:28 Diff

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

def my_function(): if not hasattr(my_function, "counter"): my_function.counter = 0 my_function.counter += 1 print("Counter:", my_function.counter) my_function() # Counter 1 my_function() # Counter 2

В этом примере мы создаем функцию my_function, которая имеет статическую переменную counter. При первом вызове функции переменная counter будет создана и установлена в значение 0. При каждом последующем вызове функции значение counter будет увеличиваться на 1 и выводиться на экран.

Этот способ позволяет сохранять состояние переменной между вызовами функции, что делает ее статической.