محتويات الكتاب

  1. مقدمة الكتاب
  2. نبذة عن لغة بايثون
  3. المبادئ الأساسية للغة بايثون
  4. التعامل مع البيانات التجميعية
  5. اتخاذ القرارات
  6. حلقات التكرار
  7. كتابة الدوال
  8. التعامل مع الملفات
  9. التعامل مع المكتبات
  10. البرمجة الكائنية في بايثون
  11. برمجة واجهة المستخدم

المبادئ الأساسية للغة بايثون

بعد ان تأكدنا من ان نظام التشغيل الذي نعمل عليه يحتوي على احدى اصدارات لغة بايثون 3 يمكننا الان ان نبدأ رحلة التعلم والتى اتمنى ان تكون حافلة بالمتعة والفائدة.

أهداف الفصل

عند اتمام هذا الفصل يجب ان يكون لديك المام بعدة مبادئ اساسية عن لغة بايثون والتي من اهمها:

  1. معرفة المقصود بالبرنامج والمبرمج
  2. طريقة كتابة المتغيرات
  3. طريقة تدوين الملاحظات على الكود البرمجي
  4. كيفية طباعة نص على شاشة الكمبيوتر
  5. الفرق بين استخدام الاحرف الصغيرة والكبيرة في كتابة الكود البرمجي.
  6. اجراء العمليات الحسابية الاساسية
  7. انواع البيانات الاساسية في لغة بايثون.
  8. القاعدة التي تحكم عدد المسافات الفارغة المتروكة قبل بداية كل سطر برمجي

تعريف البرنامج

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

طريقة كتابة برنامج بلغة بايثون

لكي يتخاطب المبرمج مع مفسر بايثون لا بد له ان يقوم بتنصيب مفسر بايثون علىى جهاز الكمبيوتر الذي يعمل عليه. وقد قمنا بشرح طريقة تنصيب مفسر بايثون في مفدمة الكتاب من خلال رابط فيديو والذي يمكن الذهاب اليه من هنا ايضا بالضغط على مشاهدة الفيديو.

هناك عدة طرق يمكن للمبرمج ان يتخاطب بها مع مفسر بايثون ومن أهم هذه الطرق:

الطريقة التفاعلية

تتطلب الطريقة التفاعلية كتابة التعليمات في بيئة برمجية خاصة معدة لهذا الغرض والتي يشار اليها في اللغة الانجليزية بـ REPL وهي اوائل الكلمات الانجليزية Read Evaluate Print Loop والتي تعني ان هذه البيئة البرمجية تقوم بقراءة التعليمات التي يكتبها المبرمج اولا ومن ثم تقوم بتنفيذها ومن ثم تطبع النتائج على الشاشة وأحيراً ترجع مؤشر الكتابة مرة اخرى للمبرمج ليكتب تعليمات جديدة. ويمكن الدخول لبيئة بايثون التفاعلية من خلال كتابة كلمة بايثون في محث اوامر الجهاز الذي تعمل عليه كما هو موضح في الفيديو التالي:

هناك بيئات تفاعلية محسنة للغة بايثون غير تلك التي شاهدتها في الفيديو السابق مثل بيئة IPython و Spyder وغيرها من البيئات التفاعلية الاخرى التي لا يسع المجال للحديث عنها هنا.

تمارين استيعابية

  1. قم بفتح البيئة التفاعلية لمفسر بايثون المنصب على حهازك واكتب العمليات الحسابية التالية:
    1. اكتب 3+5 ومن ثم اضغط على زر الادخال
    2. اكتب 4*2 ومن ثم اضغط على زر الادخال
    3. اكتب 2**3 ومن ثم اضغط على زر الادخال
  2. استكشف النتائج التي يعرضها لك مفسر بايثون لعلك تهتدي للرموز التي يستخدمها بايثون لإجراء عملية الجمع والضرب والرفع للأس؟
  3. قم بكتابة التعليمات السابقة في البيئة التفاعلية التالية والتي تسمى PyScript REPL. هذه البيئة التفاعلية للغة بايثون تم تصميمها للعمل في متصفح الانترنت بشكل مباشر دون الحاجة الي تنصيب مفسر بايثون على الجهاز الذي تعمل عليه.

    ادخل العملية الحسابية الأولى ومن ثم اضغط على زر التشغيل في اقصى اليمين (تأكد من استخدامك للارقام العربية 1,2,3,4,5 وليس الارقام الهندية ١,٢,٣,٤ عند كتابتك للعمليات الحسابية في البيئة التفاعلية ادناه):

الطريقة التقليدية (كتابة الكود داخل ملف)

تعتمد هذه الطريقة على كتابة التعليمات او الكود البرمجي في ملف نصي ينتهي اسمه بالاحقة .py. ومن ثم يتم تشغيل هذا الملف من قبل مفسر بايثون ليقوم بقراءته وتنفيذ التعليمات الموجدة به. وتعتمد طريقة تشغيل هذا الملف بحسب نوع محرر النصوص المستخدم في تحرير و كتابة الكود البرمجي داخل الملف. فهناك محررات بسيطة مثل notepad في نظام ويندوز و gedit في نظام ماك ولينكس حيث تقتصر وظيفة هذه المحررات على كتابة الكود البرمجي داخل الملف فقط. اما عملية تشغيل الملف فتتم من خلال محرر الاوامر الموجود على الجهاز الذي نعمل عليه كما هو موضح في الفيديو التالي:
أما اذا تم استخدام محررات متقدمة ومخصصة لكتابة الاكواد البرمجية مثل pycharm و visual studio code . فإن عملية تشغيل ملفات بايثون تتم من داخل المحرر نفسه دون الحاجة الى الذهاب لمحث اوامر الجهاز الذي نعمل عليه لتشغيل الملف كما هو الحال مع المحررات البسية. يطلق على هذه المحررات المتقدمة "بيئة تطوير البرامج المتكاملة" IDE (Integrated Development Environment). الفيديو التالي يوضح طريقة استخدام visual studio code لكتابة وتشغيل كود برمجي بلغة بايثون.

الطريقة الشبه تفاعلية

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

العمليات الحسابية

بعد أن تعلمنا كيف نتخاطب مع مفسر بايثون بثلاث طرق مختلفة سوف نكمل هنا ما تعلمته في التمارين الاستكشافية حول عملية إجراء العمليات الحسابية. فبايثون يمكن ان يعمل كآلة حاسبة ولكنه يستخدم رموزاً مختلفة قليلاً عن تلك الموجودة في الآلة الحاسبة.
اولاً: تسخدم العلامة "+" لاجراء عمليات الجمع
مثال:

5+4

ثانياً: تسخدم علامة "-" (الشرطة الاعتيادية وليست السفلية) لاجراء عمليات الطرح
مثال:

5-4

ثالثاً: استخدام علامة النجمة "*" لاجراء عمليات الضرب
مثال:

5*4

رابعاً: تستخدم الشرطة المائلة "/" لاجراء عمليات القسمة
مثال:

5/4

خامساً: تستخدم النجمتين "**" لرفع عدد لأس أو قوة معينه
مثال:

5**4

في المثال السابق تم رفع العدد 5 للقوة او الاس 4

سادساً: تستخدم الشرطتين المائلتين "//" لحساب ناتج القسمة بعد اهمال الباقي
مثال:

5//4

سابعاً: تستخدم علامة النسبة المئوية "%" لحساب باقي القسمة
مثال:

5%4

قواعد الاسبقية في تنفيذ العمليات الحسابية

كما هو متعارف عليه في علم الرياضيات فان عمليتي القسمة والضرب تسبق كلا من عمليتي الطرح والجمع وعملية الاس تسبق عمليتي الضرب والقسمة الا اذا استخدمت الاقواس لتحديد اسبقية العمليات الحسابية. وهذه امثلة توضح هذا المفهوم:

10/2-1
10**2/5+4
(3+4)*2
15/(6-3)

المتغيرات

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

x=5

تدوين الملاحظات

الطباعة على الشاشة

الأحرف الكبيرة والأحرف الصغيرة

أنواع البيانات

العمليات المنطقية

ترك المسافات

ملخص الفصل

اسئلة استيعابية