Python review

Slides for this section can be found here

المتطلبات المسبقة

مطلوب إكمال مقرر مدخل في البرمجة، لا يتطلب ان يكون بلغة البايثون لأن الأفكار لا تزال كما هي.

المراجعة

نظرًا للوقت المحدود المتاح لنا في هذه الدورة التدريبية ، سنناقش بعض الموضوعات الضرورية حول لغة البايثون ، لكننا سنأجل المراجعة إلى المختبر ولكي تقرأ بعض البرامج التعليمية عبر الإنترنت حول اللغة.

إذا كان مقررات البرمجة السابقة الخاصة بك على لغات مختلفة ، على سبيل المثال Visual Basic أو Java ، فإن نفس الفكرة تنطبق في Python. هناك متغيرات ووظائف وحلقات وعبارات if كما تتوقعها وتستخدمها. الاختلاف الوحيد هو أنك بحاجة إلى تعلم بناء الجملة. على سبيل المثال ، في VB قد تكتب و if عبارة مثل هذا:

If x > 5 Then
    ` Do something like display this message
    MsgBox("the condition is True!")
End If

:في لغة البايثون ، سيكون الأمر كذلك

if c > 5:
    # Do something like display this message
    print("The condition is True!")

المصادر عى الانترنت:

قم بالاطلاع على أي من المراجع التالية عبر الإنترنت وسيكون ذلك كافيًا لمراجعة كتابة جملة لغة البايثون:

  1. البايثون لي ولك
  2. تعلم البايثون
  3. خبير البايثون
  4. أساسيات البايثون

مواضيع جديدة

هناك بعض المواضيع التي لم نقم بتغطيتها في مقدمتنا إلى البايثون والتي سنغطيها في هذا المقرر:

الإستثناءات

الاستثناءات هي مثل عبارات if ، فإنها تؤدي مهمة مشروطة. يكمن الاختلاف في كيفية تقييم الحالة.

في عبارات if ، يتم التحقق من الشرط قبل تنفيذ الكود الشرطي ، لذلك يأتي الشرط دائمًا قبل الكود الشرطي:

if condition:
    # perform conditional code

بينما ، باستثناء ، الشرط في شكل وجود استثناء (المعروف أيضًا باسم خطأ). لذلك سيقوم الكمبيوتر بتنفيذ بعض التعليمات البرمجية بشكل طبيعي ، لكننا نوجه الكمبيوتر لتنفيذ الكود الشرطي في حالة حدوث خطأ معين أثناء تنفيذ الكود. لذا فإن الشرط مرتبط بحدوث خطأ (أو حدث استثنائي):

try: #1
    received_data = socket.read() #2
except IOException as ioe: #3
    print("Connection disconnected") #4

لاستخدام الاستثناءات في Python ، يتعين علينا كتابة الأسطر # 1 و # 3. يتم ملاحظة الرمز بينهما بواسطة الكمبيوتر. هنا ، وجهنا الكمبيوتر لقراءة مقبس الشبكة وتخزين البيانات المستلمة. تخبر المحاولة / باستثناء الكمبيوتر أثناء تنفيذ # 2 ، إذا حدث خطأ من النوع IOException ، مثل انقطاع الاتصال بالشبكة ، فقم بإجراء # 4.

الموقف الوحيد الذي يتم فيه تنفيذ رقم 4 هو عندما يكون هناك خطأ في قراءة الشبكة مما يؤدي إلى حدوث استثناء IOException. يرجى قراءة ما يلي مقال عن الاستثناءات.

قائمة الفهم

تتمثل إحدى المهام الشائعة التي يتم إجراؤها في القوائم في معالجة البيانات الموجودة فيها وإنشاء قوائم أخرى. على سبيل المثال ، سينشئ الكود التالي قائمة جديدة من قائمة حالية تحتوي فقط على أرقام زوجية:

data = [2, 3, 4, 5, 10, 34, 1]
even_numbers = []
for x in data:
    if x % 2 == 0:
        even_numbers.append(x)

باستخدام list comprehensions ، يمكننا أداء نفس الشيء بسطر واحد فقط:

data = [2, 3, 4, 5, 10, 34, 1]
even_numbers = [x for x in data if x % 2 == 0]

يرجى قراءة ما يلي مقال في قائمة الفهم.

البرمجة الشيئية

البرمجة الشيئية (OOP) هي طريقة لتنظيم برنامجك. حتى الآن ، تعلمنا كتابة البرامج كوحدة واحدة ، حيث يكون كل الكود في ملف واحد يؤدي جميع المتطلبات.

ثم تعلمنا كيفية هيكلة الكود الخاص بنا إلى وظائف وتنظيمها في ملفات مختلفة. يسمى هذا بالبرمجة الهيكلية وهو تحسين على كيفية تعلمنا البرمجة في البداية.

هناك تحسين آخر على البرمجة الهيكلية وهو البرمجة الشيئية (OOP). تشبه الفكرة البرمجة الهيكلية التي نعيد فيها تنظيم الكود. ومع ذلك، تختلف في طريقة تنظيم الأشياء وتجميعها. في البرمجة الهيكلية ، أنشأنا فقط الوظائف التي تؤدي المهام وحاولنا تجميع المهام ذات الصلة معًا في نفس الملف. باستخدام البرمجة الشيئية ، نقوم بتجميع ** البيانات والوظائف ** ذات الصلة معًا ووضعها في وحدة واحدة تسمى استدعاء. لا يمكننا أيضًا استخدام الفئة بشكل مباشر ، يجب علينا إنشاء كائن (يُعرف أيضًا باسم نموذج) من هذه الفئة يحتوي على نسخة من البيانات والوظائف.

تحدد الفئات كيف سيبدو الكائن وتشبه المخطط للمبنى. لا يمكننا العيش في المخططء! يجب أن نبني المبنى أولاً بناءً على الرسم. نفس الشيء مع الفئات. لا يمكن للكمبيوتر استخدام فئة ، ومع ذلك ، يمكننا توجيه الكمبيوتر لإنشاء كائن بناءً على التعريف الموضح في الفئة.

مثال على الفئة سيكون الإنسان. عندما ترى إنسانًا ، يمكنك التعرف عليهم لأن لديهم جميعًا رؤوسًا وأيديًا وأرجلًا وميزات عامة متشابهة جدًا. ومع ذلك ، فإن كل إنسان فريد من نوعه من حيث أن له اسمه ولونه وبصمة أصابعه وعمره … إلخ. كل فرد يعادل كائنًا في البرمجة الشيئية ، في حين أن الجنس البشري يعادل فئة.

بالإضافة إلى الفوائد التنظيمية لـ البرمجة الشيئية ، مثل إخفاء التعقيد (يسمى التغليف) ، فإنه يقدم أيضًا مفهوم الميراث حيث يمكننا اشتقاق فئة من فئة أخرى ، مما يسمح لنا بإعادة استخدام الكود. ** سنستخدم الميراث و البرمجة الشيئية بكثافة في هذه الدورة **. لمزيد من التفاصيل ، يرجى الرجوع إلى الفصل 10 من كتاب Python وقراءة المقالة التالية

Watch this YouTube video list for an excellent introduction to OOP

محمد المرزوق
محمد المرزوق
استاذ مساعد في نظم المعلومات