اذهب إلى المحتوى

السؤال

نشر

السلام عليكم

الكود ده 

class Book:

    def __init__(self , title , author, pages):
        self.title = title
        self.author = author
        self.pages = pages
        

وده

class Book:

    def __init__(self , title=None , author=None, pages=None):
        self.title = title
        self.author = author
        self.pages = pages

ونا هنا بتكلم علي السطر ال def 

هل فيه فرق بين لو كتابت الخصائص كده من غير كلمه None ؟

Recommended Posts

  • 0
نشر

الفرق بين الكودين  هو تعيين القيم الافتراضية للمتغيرات في حالة عدم تمرير قيم لها عند إنشاء كائن من الفئة Book

حيث في الكود الأول يجب تمرير قيم للمتغيرات title و author و pages و  إذا لم يتم تمرير أي قيم، سيؤدي ذلك إلى رفع استثناء TypeError.

بينما في الكود الثاني تم استخدام القيم الافتراضية (None) للمتغيرات title و author و pages . و إذا لم يتم تمرير أي قيم عند إنشاء كائن Book، سيتم تعيين القيم None تلقائياً لكل من title و author و pages.

لذلك عند استخدام الكود الثاني يجعل الفئة Book أكثر مرونة وأكثر سهولة في استخدامها، لأنه يسمح بإنشاء كائنات بدون الحاجة لتمرير كل القيم المطلوبة .

  • 0
نشر
بتاريخ 3 دقائق مضت قال عبدالباسط ابراهيم:

الفرق بين الكودين  هو تعيين القيم الافتراضية للمتغيرات في حالة عدم تمرير قيم لها عند إنشاء كائن من الفئة Book

حيث في الكود الأول يجب تمرير قيم للمتغيرات title و author و pages و  إذا لم يتم تمرير أي قيم، سيؤدي ذلك إلى رفع استثناء TypeError.

بينما في الكود الثاني تم استخدام القيم الافتراضية (None) للمتغيرات title و author و pages . و إذا لم يتم تمرير أي قيم عند إنشاء كائن Book، سيتم تعيين القيم None تلقائياً لكل من title و author و pages.

لذلك عند استخدام الكود الثاني يجعل الفئة Book أكثر مرونة وأكثر سهولة في استخدامها، لأنه يسمح بإنشاء كائنات بدون الحاجة لتمرير كل القيم المطلوبة .

اه شكراا لحضرتك جدا 

جزاك الله كل خير

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...