Пример на статические методы и свойства в Python
Пусть у нас есть вот такой класс User:
class User:
def __init__(self, name):
self.name = name
Давайте сделаем так, чтобы этот класс подсчитывал
количество своих объектов. Для этого сделаем
свойство класса count. Изначально
запишем в него значение 0, а при создании
каждого нового объекта будем увеличивать
это значение на 1.
Будем увеличивать значение нашего счетчика в конструкторе объекта:
class User:
count = 0 # счетчик объектов
def __init__(self, name):
self.name = name
# Увеличиваем счетчик при создании объекта:
User.count += 1
Проверим, что все работает:
user1 = User('user1')
print(User.count) # выведет 1
user2 = User('user2')
print(User.count) # выведет 2
Сделайте наш счетчик приватным. Пусть его значение можно будет получать с помощью специального метода.