🏗️ مقدمة: ما هي الخصائص (Attributes)؟ في الدرس السابق، أنشأنا صنفاً (Class) فارغاً. لكن في الواقع، أي كائن في نظام أكاديمية قياوي يجب أن يمتلك معلومات تميزه. هذه المعلومات نسميها الخصائص (Attributes). إذا كان الكائن هو “طالب”، فخصائصه هي: (اسمه، بريده الإلكتروني، ودرجته).
🛠️ الدالة السحرية init والكلمة self لكي نمنح الكائن خصائصه لحظة ولادته (أي عند إنشائه)، نستخدم دالة خاصة جداً في بايثون تسمى init.
init: هي “المُهيئة” التي تضع القيم الأولية للكائن.
self: هي كلمة تعود على “الكائن نفسه”. تخيلها كإصبع يشير إلى الكائن الذي نتعامل معه الآن لتمييزه عن غيره.
💻 مثال عملي: تعريف طالب بخصائص حقيقية نسخ هذا الكود وتجربته سيجعلك تفهم كيف يولد الكائن ببياناته:
:class Student
# دالة التهيئة لإعطاء الخصائص للطالب
:def __init__(self, name, age, course)
خاصية الاسم # self.name = name
خاصية العمر# self.age = age
خاصية # self.course = course
الآن ننشئ كائنات حقيقية ببيانات مختلفة#
(“ياسين”, 22, “Python”) student1 = Student
(“سارة”, 20, “AI”)student2 = Student
الوصول للخصائص وطباعتها#
(“{student1.name} : الطالب الأول اسمه:”f)print
(“{student2.course} : الطالبة الثانية تدرس “f)print
🔍 الفرق بين خصائص الصنف وخصائص الكائن:
1 خصائص الكائن (Instance Attributes): هي قيم متغيرة من طالب لآخر (مثل الاسم والعمر).
2 خصائص الصنف (Class Attributes): هي قيم ثابتة لكل الطلاب (مثل اسم الأكاديمية).
:class Student
خاصية ثابتة لكل الطلاب # “academy = “Qiyaoui Academy
:def __init__(self, name)
خاصية متغيرة لكل طالب # self.name = name
🎯 تحدي الدرس الثامن عشر:
قم بإنشاء صنف يسمى Product (منتج) يحتوي على الخصائص التالية: (name, price, quantity). ثم قم بإنشاء منتجين مختلفين واطبع السعر الخاص بكل منهما.
💡 نصيحة المبرمج المحترف من أكاديمية قياوي:
“تذكر دائماً أن self هي المفتاح للوصول إلى بيانات الكائن من داخل الصنف. بدونها، لن يعرف بايثون أي ‘اسم’ تقصد وأي ‘عمر’ تريد طباعته. تدرب على كتابتها حتى تصبح جزءاً من ذاكرتك البرمجية.”