Как увеличить значение атрибута класса, при каждом новом вызове объекта класса
Имеется класс:
class Server:
ip = 1
Как можно увеличить значение атрибута класса при каждом новом вызове объекта класса, на единицу?
sv_from = Server()
sv_from2 = Server()
Например создаю первый объект класса, у него ip == 1, а вот второй объект класса должен увеличить ip на единицу
Ответы (1 шт):
Автор решения: n1tr0xs
→ Ссылка
Обычно это делают в методе __init__:
class Server:
ip = 1
def __init__(self):
self.ip = Server.ip # важно сначала присвоить текущее...
Server.ip += 1 # ...а потом уже увеличивать идентификатор
sv_from = Server()
sv_from2 = Server()
print(sv_from.ip)
print(sv_from2.ip)
Вывод:
1
2