Projeye Genel Bakış
Coddy'nin Python Journey'sinin Object Oriented Programming bölümünün bir parçası — ders 55 / 64.
Görev
OrtaBu meydan okumada, bir Kütüphane Yönetim Sistemi'nin temelini uygulayacaksınız.
Gerekli sınıfları uygulamak için TODO yorumlarını takip ederek library.py dosyasını düzenleyin. Sürücü dosyası, uygulamanızı doğrulayan kapsamlı test senaryoları içerir.
- Adım adım rehberlik için
library.pydosyasındaki TODO yorumlarını takip edin Librarysınıfını uygun başlatma ve dize temsili ile uygulayın
Kendin dene
# TODO: library.py dosyasından Library sınıfını içe aktarın
# Şu formatı kullanın: from library import Library
# Kapsamlı test durumu işleyicisi
test_case = input()
if test_case == "basic_library_creation":
# TODO: "Test Library" adında bir kütüphane oluşturun
# TODO: Kütüphane nesnesini yazdırın (bu işlem __str__ metodunu çağıracaktır)
pass
elif test_case == "library_attributes":
# TODO: "Test Library" adında bir kütüphane oluşturun
# TODO: Kütüphanenin name özniteliğini şu formatta yazdırın: Name: Test Library
# TODO: books listesinin uzunluğunu şu formatta yazdırın: Books: 0
# TODO: users listesinin uzunluğunu şu formatta yazdırın: Users: 0
# İpucu: f-string kullanın, örn. print(f"Name: {library.name}")
pass
elif test_case == "multiple_libraries":
# TODO: "Library 1" ve "Library 2" adlarında iki farklı kütüphane oluşturun
# TODO: Her iki kütüphane nesnesini de yazdırın
pass
elif test_case == "empty_name":
# TODO: Adı boş bir dize olan bir kütüphane oluşturun
# TODO: Kütüphane nesnesini yazdırın
pass
elif test_case == "special_characters":
# TODO: "!@#$%^&*()" adında bir kütüphane oluşturun
# TODO: Kütüphane nesnesini yazdırın
pass
elif test_case == "very_long_name":
# TODO: Tam olarak 100 adet 'A' karakterinden oluşan bir ada sahip kütüphane oluşturun ("A" * 100 kullanın)
# TODO: Kütüphane nesnesini yazdırın
pass
elif test_case == "add_books_users":
# TODO: "Test Library" adında bir kütüphane oluşturun
# TODO: Şu öğeleri books listesine ekleyin: ["Book1", "Book2", "Book3"]
# TODO: Şu öğeleri users listesine ekleyin: ["User1", "User2"]
# TODO: Kütüphane nesnesini yazdırın (güncellenmiş sayıları göstermelidir)
pass
elif test_case == "empty_lists":
# TODO: "Test Library" adında bir kütüphane oluşturun
# TODO: books listesinin uzunluğunu şu formatta yazdırın: Books length: 0
# TODO: users listesinin uzunluğunu şu formatta yazdırın: Users length: 0
# İpucu: f-string kullanın, örn. print(f"Books length: {len(library.books)}")
pass
elif test_case == "type_validation":
# TODO: Adı 123 tam sayısı olan bir kütüphane oluşturun
# TODO: Kütüphane nesnesini yazdırın (dizeye dönüştürülmelidir)
passObject Oriented Programming bölümündeki tüm dersler
1OOP Temelleri
Harici DosyalarOOP'ye GirişSınıflar ve Nesnelerself ParametresiMetotlarÖzniteliklerYapıcı Metot (__init__)Özet - Basit Hesap Makinesi4Kalıtım
Temel Kalıtımsuper() FonksiyonuMetot Geçersiz KılmaÇoklu KalıtımMetot Çözümleme SırasıÖzet - Çalışan Hiyerarşisi7Özel Metotlar
Sihirli Metotlara GirişOperatör Aşırı YüklemeKapsayıcı Sihirli MetotlarıÖzet - Özel Liste10Tasarım Kalıpları Bölüm 1
Tasarım kalıplarına girişSingleton KalıbıFactory KalıbıObserver KalıbıStrategy Kalıbı13Final Meydan Okumaları
E-öğrenme PlatformuBankacılık SistemiOyun Karakteri GeliştirmeAraç Kiralama Servisi5Çok Biçimlilik (Polymorphism)
Metot Geçersiz Kılmaya Yeniden BakışDuck TypingSoyut Sınıflar ve MetotlarArayüz TasarımıÖzet - Şekil Hesaplayıcı8İleri Düzey OOP Kavramları
Kompozisyon ve KalıtımMixinsStatik ve Sınıf MetotlarıSınıf DekoratörleriBağlam Yöneticileri11Tasarım Kalıpları Bölüm 2
Komut KalıbıAdaptör KalıbıDekoratör KalıbıŞablon Metot KalıbıDurum KalıbıKompozit Kalıbı3Sınıf Özellikleri
Örnek ve Sınıf DeğişkenleriProperty DekoratörleriGizli ÖzniteliklerÖzet - Banka Hesabı Yöneticisi6Kapsülleme
Public, Protected, Private ÜyelerErişim BelirleyicilerBilgi Gizlemeİleri Seviye Property DekoratörleriÖzet - Öğrenci Kayıt Sistemi12Proje: Kütüphane Yönetimi
Projeye Genel BakışKitap ve Kullanıcı SınıflarıÖdünç Alma SistemiArama İşlevselliğiYönetici ArayüzüTest ve Entegrasyon