Как увеличить атрибут класса-счетчик?
Есть класс который представляет из себя книгу контактов, у него есть атрибут current_id. Изначально это значение равно 0, но после добавления нового контакта (метод add_contact) это значение должно увеличиватся на единицу чтобы id был уникальным для каждого контакта. Если я вызываю его 2 раза, например, то счетчик обнуляется и начинается с единицы. Метод list_contacts возвращает список со всеми словарями(контактами)
class Contacts:
current_id = 1
def __init__(self):
self.contacts = []
def list_contacts(self):
print(self.contacts)
return self.contacts
def add_contacts(self, name, phone, email, favorite):
contact = {
'id': self.current_id,
'name': name,
'phone': phone,
'email': email,
'favorite': favorite,
}
print(self.current_id)
self.contacts.append(contact)
self.current_id += 1
Пример ввода и вывода:
1
2
[{'id': 1, 'name': 'Wylie Pope', 'phone': '(692) 802-2949', 'email': 'est@utquamvel.net', 'favorite': True}, {'id': 2, 'name': 'Cyrus Jackson', 'phone': '(501) 472-5218', 'email': 'nibh@semsempererat.com', 'favorite': False}]
1
2
[{'id': 1, 'name': 'Wylie Pope', 'phone': '(692) 802-2949', 'email': 'est@utquamvel.net', 'favorite': False}, {'id': 2, 'name': 'Cyrus Jackson', 'phone': '(501) 472-5218', 'email': 'nibh@semsempererat.com', 'favorite': False}]
Источник: Stack Overflow на русском