Скажем, у нас есть класс Pet в Python:
class Pet(object):
num_pets = 0
def __init__(self, name):
self.name = name
Pet.num_pets += 1
def speak(self):
print("My name %s and the number of pets is %d" % (self.name, self.num_pets))
Я хочу, чтобы метод init создавал экземпляр, но также обновлял атрибут класса. Есть ли более элегантный способ сделать это, чем код выше? Я попытался передать в self
и cls
метод init, а затем ссылаться на cls вместо Pet, где num_pets увеличивается, но это не сработало.