Классы Book и User
Часть раздела Object Oriented Programming путешествия по Python на Coddy. Урок 56 из 64.
Задание
ЛегкоВ этом задании ты реализуешь класс Book для системы управления библиотекой, используя многофайловую структуру с полным покрытием тестами.
Отредактируй файл book.py, чтобы реализовать класс Book в соответствии с комментариями TODO. Реализация должна:
- Инициализироваться с параметрами title, author и ISBN
- Отслеживать status доступности и информацию о borrower
- Реализовывать корректное строковое представление
Попробуйте сами
from book import Book
# 1. Создать объект Book
book = Book("1984", "George Orwell", "345678")
# 2. Проверить атрибуты
print(book.title) # Должно вывести: 1984
print(book.author) # Should print: George Orwell
print(book.isbn) # Должно вывести: 345678
print(book.available) # Должно вывести: True
print(book.borrower) # Должно вывести: None
# 3. Протестировать __str__, когда доступна
print(book) # Should print: 1984 by George Orwell (ISBN: 345678) - Available
# 4. Test __str__ when not available
book.available = False
print(book) # Should print: 1984 by George Orwell (ISBN: 345678) - Not AvailableВсе уроки раздела Object Oriented Programming
1Основы ООП
Внешние файлыВведение в ООПКлассы и объектыПараметр selfМетодыАтрибутыМетод-конструктор (__init__)Повторение — Простой калькулятор4Наследование
Базовое наследованиеФункция super()Переопределение методовМножественное наследованиеПорядок разрешения методовИтоги — Иерархия сотрудников7Специальные методы
Введение в магические методыПерегрузка операторовМагические методы контейнеровПовторение — Пользовательский список10Паттерны проектирования. Часть 1
Введение в паттерны проектированияПаттерн SingletonПаттерн FactoryПаттерн ObserverПаттерн Strategy5Полиморфизм
Снова о переопределении методовУтиная типизацияАбстрактные классы и методыПроектирование интерфейсовИтоги — Калькулятор фигур8Продвинутые концепции ООП
Композиция против наследованияМиксиныСтатические методы и методы классаДекораторы классовМенеджеры контекста11Паттерны проектирования. Часть 2
Паттерн КомандаПаттерн АдаптерПаттерн ДекораторПаттерн Шаблонный методПаттерн СостояниеПаттерн Компоновщик3Свойства классов
Переменные экземпляра и классаДекораторы свойствПриватные атрибутыИтоги — Менеджер банковского счета6Инкапсуляция
Public, Protected, Private члены классаМодификаторы доступаСокрытие данныхДекораторы property: продвинутый уровеньИтоги: Система учета студентов12Проект: Управление библиотекой
Обзор проектаКлассы Book и UserСистема выдачи книгФункционал поискаИнтерфейс администратораТестирование и интеграцияПотренируйтесь самостоятельно: Онлайн-компилятор Python