🌟 مقدمة: ما هي الدالة البانية؟ في البرمجة الكائنية، نحتاج دائماً إلى “تجهيز” الكائن بمجرد إنشائه. تخيل أنك تفتح حساباً جديداً في أكاديمية قياوي، النظام تلقائياً يعطيك رصيداً صفراً وتاريخ انضمام. من قام بهذا العمل؟ إنها الدالة البانية (Constructor).
في بايثون، تسمى هذه الدالة init.
🏗️ لماذا تسمى “سحرية” (Magic Method)؟ تسمى سحرية لأنك لا تقوم باستدعائها بنفسك! بايثون يستدعيها تلقائياً بمجرد أن تكتب اسم الكلاس وتفتح الأقواس.
💻 مثال لتعميق الفهم: لنصمم صنفاً يضع “قيم افتراضية” (Default Values) حتى لو لم يدخلها المستخدم
:class Course
(self, title, teacher=”أستاذ ميمون”)__ def __init
self.title = title
self.teacher = teacher
قيمة افتراضية تبدأ من الصفر دائماً # self.students_count = 0
(“{self.title} تم إنشاء دورة : “f)print
# إنشاء كائن مع تحديد اسم الأستاذ
(“أساسيات بايثون”, “ميمون قياوي”) course1 = Course
# إنشاء كائن بدون تحديد اسم الأستاذ (سيأخذ القيمة الافتراضية)
(“الذكاء الاصطناعي”) course2 = Course
(” {course2.teacher} : أستاذ الدورة الثانية”f) print
🔍 أهمية الدالة البانية:
تجهيز البيانات: وضع القيم الأولية للكائن.
التنظيم: تضمن أن كل كائن يولد وهو يمتلك كل البيانات الضرورية لعمله.
الاحترافية: تمكنك من وضع شروط عند البناء (مثلاً: لا تسمح بإنشاء طالب عمره أقل من 10 سنوات).
💡 نصيحة من أكاديمية قياوي:
“الدالة البانية هي الاستقبال في فندقك البرمجي؛ هي أول من يستقبل البيانات ويوزعها على الغرف (الخصائص). إذا صممتها بذكاء، سيكون باقي برنامجك منظماً وتلقائياً.”
🌟 رسالة تحفيزية
اليوم دخلت مرحلة التفكير المنهجي
ليس فقط “كيف أكتب الكود”
بل كيف أنظّمه وأحترمه 🐝
وهذا هو الفرق بين:
مبرمج عادي … ومبرمج محترف.