Конечно! Давайте создадим класс, который будет моделировать базу данных людей с их идентификаторами и электронными почтами. Мы добавим несколько методов, которые могут быть полезны, и оформим документацию в виде докстрингов. Вот пример кода:
class PeopleDatabase:
"""
Класс для моделирования базы данных людей с их идентификаторами и электронными почтами.
Атрибуты:
people (dict): Словарь, где ключом является идентификатор человека, а значением - его электронная почта.
"""
def __init__(self):
"""
Инициализирует пустую базу данных.
"""
self.people = {}
def add_person(self, identifier, email):
"""
Добавляет нового человека в базу данных.
Параметры:
identifier (str): Уникальный идентификатор человека.
email (str): Электронная почта человека.
Возвращает:
None
"""
self.people[identifier] = email
def remove_person(self, identifier):
"""
Удаляет человека из базы данных по идентификатору.
Параметры:
identifier (str): Уникальный идентификатор человека, которого нужно удалить.
Возвращает:
bool: Возвращает True, если человек был успешно удален, иначе False.
"""
if identifier in self.people:
del self.people[identifier]
return True
return False
def get_email(self, identifier):
"""
Получает электронную почту человека по его идентификатору.
Параметры:
identifier (str): Уникальный идентификатор человека.
Возвращает:
str: Электронная почта человека или None, если идентификатор не найден.
"""
return self.people.get(identifier)
def list_people(self):
"""
Возвращает список всех людей в базе данных.
Возвращает:
list: Список кортежей, содержащих идентификаторы и электронные почты людей.
"""
return list(self.people.items())
# Пример использования
db = PeopleDatabase()
db.add_person("001", "person1@example.com")
db.add_person("002", "person2@example.com")
print(db.list_people())
print(db.get_email("001"))
print(db.remove_person("002"))
print(db.list_people())
В этом коде мы создали класс PeopleDatabase, который включает методы для добавления, удаления, получения электронной почты и перечисления всех людей в базе данных. Каждый метод сопровождается соответствующим докстрингом, который объясняет его функциональность и параметры. Это поможет вам понять, как класс работает и как его можно использовать в практических задачах. Если у вас есть дополнительные вопросы или вам нужна помощь с чем-то еще, дайте знать!
