Przegląd projektu
Część sekcji Programowanie obiektowe ścieżki Python w Coddy. Lekcja 55 z 64.
Wyzwanie
ŚredniW tym wyzwaniu zaimplementujesz podstawy systemu zarządzania biblioteką.
Edytuj plik library.py, aby zaimplementować wymagane klasy zgodnie z komentarzami TODO. Plik sterujący zawiera obszerne scenariusze testowe, które sprawdzają Twoją implementację.
- Postępuj zgodnie z komentarzami TODO w pliku
library.py, aby uzyskać szczegółowe wskazówki - Zaimplementuj klasę
Libraryz prawidłową inicjalizacją i reprezentacją tekstową
Spróbuj swoich sił
# TODO: Zaimportuj klasę Library z pliku library.py
# Użyj formatu: from library import Library
# Obsługa kompleksowych przypadków testowych
test_case = input()
if test_case == "basic_library_creation":
# TODO: Utwórz bibliotekę o nazwie "Test Library"
# TODO: Wypisz obiekt biblioteki (spowoduje to wywołanie metody __str__)
pass
elif test_case == "library_attributes":
# TODO: Utwórz bibliotekę o nazwie "Test Library"
# TODO: Wypisz atrybut nazwy biblioteki w formacie: Name: Test Library
# TODO: Wypisz długość listy books w formacie: Books: 0
# TODO: Wypisz długość listy users w formacie: Users: 0
# Wskazówka: Użyj f-stringów, np. print(f"Name: {library.name}")
pass
elif test_case == "multiple_libraries":
# TODO: Utwórz dwie różne biblioteki o nazwach "Library 1" i "Library 2"
# TODO: Wypisz oba obiekty bibliotek
pass
elif test_case == "empty_name":
# TODO: Utwórz bibliotekę z pustym ciągiem znaków jako nazwą
# TODO: Wyświetl obiekt biblioteki
pass
elif test_case == "special_characters":
# TODO: Utwórz bibliotekę o nazwie "!@#$%^&*()"
# TODO: Wyświetl obiekt biblioteki
pass
elif test_case == "very_long_name":
# TODO: Utwórz bibliotekę o nazwie składającej się z dokładnie 100 znaków 'A' (użyj "A" * 100)
# TODO: Wyświetl obiekt biblioteki
pass
elif test_case == "add_books_users":
# TODO: Utwórz bibliotekę o nazwie "Test Library"
# TODO: Dodaj te elementy do listy books: ["Book1", "Book2", "Book3"]
# TODO: Dodaj te elementy do listy users: ["User1", "User2"]
# TODO: Wyświetl obiekt biblioteki (powinien pokazywać zaktualizowane liczby elementów)
pass
elif test_case == "empty_lists":
# TODO: Utwórz bibliotekę o nazwie "Test Library"
# TODO: Wypisz długość listy books w formacie: Books length: 0
# TODO: Wypisz długość listy users w formacie: Users length: 0
# Wskazówka: Użyj f-stringów, np. print(f"Books length: {len(library.books)}")
pass
elif test_case == "type_validation":
# TODO: Utwórz bibliotekę, podając liczbę całkowitą 123 jako nazwę
# TODO: Wyświetl obiekt biblioteki (powinien zostać przekonwertowany na ciąg znaków)
passWszystkie lekcje w sekcji Programowanie obiektowe
1Podstawy programowania obiektowego
Pliki zewnętrzneWprowadzenie do programowania obiektowegoKlasy a obiektyParametr selfMetodyAtrybutyMetoda konstruktora (__init__)Powtórzenie – prosty kalkulator4Dziedziczenie
Podstawy dziedziczeniaFunkcja super()Nadpisywanie metodDziedziczenie wielokrotneKolejność rozwiązywania metodPodsumowanie – hierarchia pracowników7Metody specjalne
Wprowadzenie do metod magicznychPrzeciążanie operatorówMagiczne metody kontenerówPowtórka – własna lista10Wzorce projektowe, część 1
Wprowadzenie do wzorców projektowychWzorzec SingletonWzorzec FactoryWzorzec ObserverWzorzec Strategy2Dekoratory
Wprowadzenie do dekoratorówDekorator propertyDekorator metody statycznejDekorator metody klasowej5Polimorfizm
Ponowne omówienie nadpisywania metodTypowanie kaczeKlasy i metody abstrakcyjneProjektowanie interfejsówPodsumowanie — kalkulator kształtów8Zaawansowane koncepcje programowania obiektowego
Kompozycja a dziedziczenieMiksyMetody statyczne i klasoweDekoratory klasMenedżery kontekstu11Wzorce projektowe, część 2
Wzorzec PolecenieWzorzec AdapterWzorzec DekoratorWzorzec Metoda szablonowaWzorzec StanWzorzec Kompozyt3Właściwości klas
Zmienne instancji a zmienne klasoweDekoratory właściwościAtrybuty prywatnePowtórzenie — menedżer kont bankowych6Hermetyzacja
Public, Protected, Private — pamięćModyfikatory dostępuUkrywanie informacjiDekoratory właściwości — zaawansowanePodsumowanie — system ewidencji uczniów12Projekt: System zarządzania biblioteką
Przegląd projektuKlasy Book i UserSystem wypożyczeńFunkcja wyszukiwaniaInterfejs administratoraTestowanie i integracjaPoćwicz samodzielnie: Kompilator Python online