Обзор проекта
Часть раздела Object Oriented Programming путешествия по Python на Coddy — урок 55 из 64.
Задание
СреднеВ этом испытании вы реализуете основу для системы управления библиотекой.
Отредактируйте library.py, чтобы реализовать необходимые классы, следуя комментариям TODO. Файл драйвера содержит обширные тестовые сценарии, которые проверяют вашу реализацию.
- Следуйте комментариям TODO в
library.pyдля пошагового руководства - Реализуйте класс
Libraryс правильной инициализацией и строковым представлением
Шпаргалка
Задача сосредоточена на реализации системы управления библиотекой с правильной структурой классов и методами строкового представления. Для создания подробной шпаргалки не было предоставлено конкретного содержания урока.
Попробуйте сами
# TODO: Импортируйте класс Library из library.py
# Используйте формат: from library import Library
# Комплексный обработчик тестовых случаев
test_case = input()
if test_case == "basic_library_creation":
# TODO: Создайте библиотеку с именем "Test Library"
# TODO: Выведите объект библиотеки (это вызовет метод __str__)
pass
elif test_case == "library_attributes":
# TODO: Создайте библиотеку с именем "Test Library"
# TODO: Выведите атрибут имени библиотеки в формате: Name: Test Library
# TODO: Выведите длину списка книг в формате: Books: 0
# TODO: Выведите длину списка пользователей в формате: Users: 0
# Подсказка: Используйте f-строки, например, print(f"Name: {library.name}")
pass
elif test_case == "multiple_libraries":
# TODO: Создайте две разные библиотеки с именами "Library 1" и "Library 2"
# TODO: Выведите оба объекта библиотеки
pass
elif test_case == "empty_name":
# TODO: Создайте библиотеку с пустой строкой в качестве имени
# TODO: Выведите объект библиотеки
pass
elif test_case == "special_characters":
# TODO: Создайте библиотеку с именем "!@#$%^&*()"
# TODO: Выведите объект библиотеки
pass
elif test_case == "very_long_name":
# TODO: Создайте библиотеку с именем ровно из 100 символов 'A' (используйте "A" * 100)
# TODO: Выведите объект библиотеки
pass
elif test_case == "add_books_users":
# TODO: Создайте библиотеку с именем "Test Library"
# TODO: Добавьте эти элементы в список книг: ["Book1", "Book2", "Book3"]
# TODO: Добавьте эти элементы в список пользователей: ["User1", "User2"]
# TODO: Выведите объект библиотеки (должен показать обновленное количество)
pass
elif test_case == "empty_lists":
# TODO: Создайте библиотеку с именем "Test Library"
# TODO: Выведите длину списка книг в формате: Books length: 0
# TODO: Выведите длину списка пользователей в формате: Users length: 0
# Подсказка: Используйте f-строки, например, print(f"Books length: {len(library.books)}")
pass
elif test_case == "type_validation":
# TODO: Создайте библиотеку с целым числом 123 в качестве имени
# TODO: Выведите объект библиотеки (должен преобразоваться в строку)
passВсе уроки раздела 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