الدرس 16: المزيد من الطرق السحرية — __eq__ و __len__
في الدرس 5 اكتشفت أن __str__ يُعلّم print كيف يتحدث إلى كائنك. اليوم نوسّع السحر: __eq__ يُعلّم == مقارنة الكائنات حسب المحتوى، و __len__ يُعلّم len() قياسها. تصبح كائناتك مواطنين من الدرجة الأولى في اللغة.
ورقتان نقديتان من فئة 100 شيكل "متساويتان" رغم أنهما قطعتا ورق مختلفتان — __eq__ يُعلّم Python أن يقارن هكذا: حسب القيمة، لا حسب الورق.
- __eq__
- طريقة سحرية تعمل تلقائياً عند مقارنة == — تعرّف متى يُعتبر كائنان متساويين.
- __len__
- طريقة سحرية تعمل تلقائياً عند استدعاء len() — تعرّف ما هو "طول" الكائن.