قصة self ما كتير فهمتُها
بدي حدا يشرحلي ياها بتوسع اكتر
خصوصا وقت حطها الاستاذ ابراهيم ب fun
إن شاء الله تفهم مني
بص ي صديقي عشان نبقي متفقين …انت عارف ان class هو الخريطة او الاسطنبة ال هيمشي عليها ال object…
ليكن مثلا عندي كلاس اسمه human فيه Attributes زي الطول الاسم النوع الشكل البلد وهكذا
لما نيجي ناخد كائن من الكلاس ال فيه الخصائص دي
بالشكل دا
print(human1.name)
----> abdo
هلئ باختصار شديد الفائدة من self هو اختصار الاسطر …عن طريق اني بدل ما اتعذب وكل كائن انشئه لازم حددله السمة Attribute والبيانات تبعه ف اختصرنا الكود بإننا عملنا دالة init وحددنا انو كل بيانات رح يدخلها الكائن نفسه هي بيانات للسمة المحددة …
Self.name = name
حيث انا عم فهم البرنامج انو حتى لو عمل 100 كائن ف كل كائن بيتبع نفس القاعدة ولحتى الكمبيوتر يفهم انو كل الكائنات لها نفس القاعدة استخدمنا self بمعنى كل كائن بنفسه يتبع هدول القواعد يعني كل ما تنشئ كائن رح يكون بياناته هي نفسها يلي رح تنحط بالسمات يلي حطيناها بالدالة init وحددناها بالدالة وقلنا كل كائن مهما كان اسمه عنده هدول السمات والبيانات يلي رح يكتبها هي بيانات هدول السمات للكائن نفسه self
يعني لما اعمل كائن بدل ما هالكائن يحط
name = "ali
بحط مباشرة ali وهيك وفرنا عدد الاسطر وصار الكود اسهل ومفهوم اكتر