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
Kopya kağıdı
Bu görev, uygun sınıf yapısı ve dize gösterim (string representation) yöntemleri ile bir Kütüphane Yönetim Sistemi uygulamaya odaklanmaktadır. Kapsamlı bir kopya kağıdı (cheatsheet) oluşturmak için belirli bir ders içeriği sağlanmamıştır.
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ı