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