لنتذكر مع بعض أهم الأشياء التي تعلمناها إلى الآن:
المتغيرات قد تتخذ شكل مركب كالقوائم (lists) أو القواميس (dictionaries). و في بايثون كما أغلب لغات البرمجة الحديثة يمكن للمتغيرات أن تعبر و تستوعب أي شيء. و هذا ما سيدفعنا إلى التطرق إلى مفاهيم البرمجة الكائنية التوجه (Object-oriented programming) و التي يعتبر كل شيء فيها كائن.
و حتى تتقرب الفكرة أكثر سأعطي مثال قطعة الورق. كل قطعة ورق تتميز بطول و عرض معينن يشكلان المساحة الصالحة للكتابة (خصائص قطعة الورق). كما قد تكون ملونة أو بها أسطر للإعانة على الكتابة. و قطعة الورق تلك صالحة للكتابة (وظيفتها)
كما إذا تم تجمع عدد معين من قطع الورق يمنكن أن نحصل دفتر، و هو بدوره يتميز بخصائصه (عدد الأوراق، نوعيتها، المساحة، نوعية الغلاف الخارجي). هذا الدفتر يعتبر كائن جديد إكتسب خصائصه من مجموع قطع الورق، كما لذيه خصائصه التي تميزه بذاته. و وظيفته هي الإحتفاظ بما يكتب عليه.
هكذا هي البرمجة التي تعتمد على الكائنات.
الآن سنعود إلى ذلك الجزء .upper() في آخر المتغيرة lastname في التدوينة السابقة.
lastname هي متغيرة، و القيمة التي تعبر عنها هي نصية (string)، و بما أن بايثون لغة برمجة كائنية التوجه فهذا يجعل من تلك المتغيرة كائن و خصائصه يستدمها من القيمة الني يعبر عنها، و بما أن هذه القيمة هي نصية فإن خصائصها مستمدة من كائن إسمه str و هذا الأخير واحد من كائات بايثون.
upper() هي من وظائف الكائن str، و تسمى أيضا بالدوال. إكتسبت المتغيرة lastname تلك الوظيفة لأنها إكتسبت خصائص الكائن str
نفس الشيء ينطبق على المتغيرة countries التي تعتبر قائمة (متغيرة تضم مجموعة من القيم على شكل قائمة). هذه المتغيرة تعتبر كائن لأنها تستمد خصائصها من كائن إسمه list. بالإضافة إلى ذلك فإن كل قيمة متواجدة داخل تلك القائمة تكتسب خصائصها حسب نوع المعلومة أو الكائن الذي تعبر عنه. في حالتنا نحن فإن القيم داخل القائمة هي نصية و بذلك فإن كل واحدة تستمد خصائصها من الكائن str
تدوينة اليوم جد مهمة لأنها توضح طبيعة البرمجة ببايثون و تشرح بعض النقاط و التفاصيل المهمة التي سنعتمد عليها مستقبلا لتكمل سلسلة البرمجة ببايثون.
- المتغيرات وسيلة لتخزين المعطيات/البيانات/المعلومات.
- كل متغيرة تعبر عن معلومة معينة.
- نحن من نعطي المتغيرة إسم و يفضل أن يتناسب مع المعلومة التي ستعبر عنها.
- سمية متغيرات لأن محتواها يمكن أن يتغير في الوقت الذي تضل تحافظ على الإسم الذي أعطيناها.
- المعطيات/البيانات/المعلومات تختلف فيما بينها حسب نوعيتها. فكما نجد أن هنالك أرقام، نجد الرسائل النصية أيضا أو أي شيء آخر كالصور و ...
- الأرقام تختلف في ما بينها من حيث هل ستعبر عن عدد صحيح طبيعي (عدد بدون الفاصلة) أو عدد حقيقي (عدد بالفاصلة)
- الرسائل النصية تكتب بين علامتي "" أو ''
المتغيرات قد تتخذ شكل مركب كالقوائم (lists) أو القواميس (dictionaries). و في بايثون كما أغلب لغات البرمجة الحديثة يمكن للمتغيرات أن تعبر و تستوعب أي شيء. و هذا ما سيدفعنا إلى التطرق إلى مفاهيم البرمجة الكائنية التوجه (Object-oriented programming) و التي يعتبر كل شيء فيها كائن.
ماهي البرمجة الكائنية التوجه؟
هي نوع من أنواع برمجة الحاسوب التي تسمح بالتعامل مع المعطيات و كل جزء من البرنامج على أساس أنها كائنات تتميز بخصائصها و وظائفها و إستقلاليتها بذاتها من جهة، و بتفاعلها مع بعضها البعض و إعتمادها على كائنات أخرى للحصول على تلك الميزات من جهة أخرى.و حتى تتقرب الفكرة أكثر سأعطي مثال قطعة الورق. كل قطعة ورق تتميز بطول و عرض معينن يشكلان المساحة الصالحة للكتابة (خصائص قطعة الورق). كما قد تكون ملونة أو بها أسطر للإعانة على الكتابة. و قطعة الورق تلك صالحة للكتابة (وظيفتها)
كما إذا تم تجمع عدد معين من قطع الورق يمنكن أن نحصل دفتر، و هو بدوره يتميز بخصائصه (عدد الأوراق، نوعيتها، المساحة، نوعية الغلاف الخارجي). هذا الدفتر يعتبر كائن جديد إكتسب خصائصه من مجموع قطع الورق، كما لذيه خصائصه التي تميزه بذاته. و وظيفته هي الإحتفاظ بما يكتب عليه.
هكذا هي البرمجة التي تعتمد على الكائنات.
الآن سنعود إلى ذلك الجزء .upper() في آخر المتغيرة lastname في التدوينة السابقة.
lastname هي متغيرة، و القيمة التي تعبر عنها هي نصية (string)، و بما أن بايثون لغة برمجة كائنية التوجه فهذا يجعل من تلك المتغيرة كائن و خصائصه يستدمها من القيمة الني يعبر عنها، و بما أن هذه القيمة هي نصية فإن خصائصها مستمدة من كائن إسمه str و هذا الأخير واحد من كائات بايثون.
upper() هي من وظائف الكائن str، و تسمى أيضا بالدوال. إكتسبت المتغيرة lastname تلك الوظيفة لأنها إكتسبت خصائص الكائن str
نفس الشيء ينطبق على المتغيرة countries التي تعتبر قائمة (متغيرة تضم مجموعة من القيم على شكل قائمة). هذه المتغيرة تعتبر كائن لأنها تستمد خصائصها من كائن إسمه list. بالإضافة إلى ذلك فإن كل قيمة متواجدة داخل تلك القائمة تكتسب خصائصها حسب نوع المعلومة أو الكائن الذي تعبر عنه. في حالتنا نحن فإن القيم داخل القائمة هي نصية و بذلك فإن كل واحدة تستمد خصائصها من الكائن str
تدوينة اليوم جد مهمة لأنها توضح طبيعة البرمجة ببايثون و تشرح بعض النقاط و التفاصيل المهمة التي سنعتمد عليها مستقبلا لتكمل سلسلة البرمجة ببايثون.
ليست هناك تعليقات:
إرسال تعليق