نظرة عامة على المشروع
جزء من قسم البرمجة كائنية التوجه في رحلة Python على Coddy. الدرس 55 من 64.
التحدي
متوسطفي هذا التحدي، ستنفّذ الأساسيات اللازمة لنظام إدارة مكتبة.
عدّل library.py لتنفيذ الأصناف المطلوبة باتباع تعليقات TODO. يحتوي ملف برنامج التشغيل على سيناريوهات اختبار موسّعة للتحقق من تنفيذك.
- اتبع تعليقات TODO في
library.pyللحصول على إرشادات خطوة بخطوة - نفّذ الصنف
Libraryمع التهيئة الصحيحة والتمثيل النصي
جرّب بنفسك
from library import Library
# معالج شامل لحالات الاختبار
test_case = input()
if test_case == "basic_library_creation":
library_name = "Test Library"
library = Library(library_name)
print(library)
elif test_case == "library_attributes":
library = Library("Test Library")
print(f"Name: {library.name}")
print(f"Books: {len(library.books)}")
print(f"Users: {len(library.users)}")
elif test_case == "multiple_libraries":
library1 = Library("Library 1")
library2 = Library("Library 2")
print(library1)
print(library2)
elif test_case == "empty_name":
library = Library("")
print(library)
elif test_case == "special_characters":
library = Library("!@#$%^&*()")
print(library)
elif test_case == "very_long_name":
long_name = "A" * 100
library = Library(long_name)
print(library)
elif test_case == "add_books_users":
library = Library("Test Library")
library.books.extend(["Book1", "Book2", "Book3"])
library.users.extend(["User1", "User2"])
print(library)
elif test_case == "empty_lists":
library = Library("Test Library")
print(f"Books length: {len(library.books)}")
print(f"Users length: {len(library.users)}")
elif test_case == "type_validation":
library = Library(123)
print(library)جميع دروس البرمجة كائنية التوجه
1أساسيات OOP
الملفات الخارجيةمقدمة في OOPClasses مقابل Objectsمعامل selfMethodsAttributesدالة البناء (__init__)مراجعة - آلة حاسبة بسيطة4الوراثة
الوراثة الأساسيةدالة ()superإعادة تعريف الدوال (Method Overriding)الوراثة المتعددةترتيب استدعاء الدوال (Method Resolution Order)مراجعة - هيكلية الموظفين5تعدد الأشكال
مراجعة إعادة تعريف الدوالمفهوم Duck Typingالأصناف والدوال المجردةتصميم الواجهاتملخص - حاسبة الأشكال3خصائص الـ Class
متغيرات الـ Instance مقابل متغيرات الـ ClassProperty Decoratorsالسمات الخاصةمراجعة - مدير الحساب البنكي6التغليف (Encapsulation)
الأعضاء العامة والمحمية والخاصةمحددات الوصولإخفاء المعلوماتProperty Decorators متقدمةمراجعة - نظام سجلات الطلاب12مشروع: إدارة المكتبة
نظرة عامة على المشروعفئات الكتاب والمستخدمنظام الاستعارةخاصية البحثواجهة المسؤولالاختبار والتكاملتدرّب بنفسك: مترجم Python عبر الإنترنت