Класс Book: методы установки и получения данных книги

Храните название, автора и год в атрибутах экземпляра; добавьте setters и метод, возвращающий новый словарь с информацией.

Короткий ответ

Что ответить на собеседовании

Храните название, автора и год в атрибутах экземпляра; добавьте setters и метод, возвращающий новый словарь с информацией.

Подробный разбор

Ответ с пояснениями

Условие

Необходимо написать класс Book, в котором хранятся сведения о книге: название, автор и год выпуска. Требуется реализовать функции, позволяющие задать значения этих полей, а также функцию, возвращающую полную информацию о книге в удобном виде (например, в виде словаря или строки).

class Book:
    def __init__(self):
        self.title = ""
        self.author = ""
        self.year = None

    # Методы для установки и получения информации
    ...

Ответ

Храните название, автора и год в атрибутах экземпляра; добавьте setters и метод, возвращающий новый словарь с информацией.

class Book:
    def __init__(self):
        self.title = ''
        self.author = ''
        self.year = None

    def set_title(self, title):
        self.title = title

    def set_author(self, author):
        self.author = author

    def set_year(self, year):
        self.year = year

    def get_info(self):
        return {'title': self.title, 'author': self.author,
                'year': self.year}

Все данные принадлежат конкретной книге, а не разделяются между экземплярами. get_info возвращает новый словарь: замена его ключей не меняет поля книги. При необходимости в setter добавляют проверку типов и допустимости года. В реальном Python-коде простые атрибуты часто достаточно изменять напрямую; отдельные методы нужны, когда этого требует контракт или появляется валидация.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее