Как сделать статические переменные в функции в Python?

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

В 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 и выводиться на экран.

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

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