المدونة--الفصل الأولثالث متوسطالمكتبات البرمجية | الوحدة الرابعة| الدرس الثاني

المكتبات البرمجية | الوحدة الرابعة| الدرس الثاني

المكتبات البرمجية

المكتبات البرمجية هو عنوان الدرس الثاني من الوحدة الثالثة التي تحمل اسم “البرمجة المتقدمة قي بايثون” في الفصل الدراسي الأول من مقرر “ثالث متوسط”.

ستتعرف في هذا الموضوع على ماهية المكتبات البرمجية (Programming Library) وخصائصها، واستخدام النماذج البرمجية (Modules)، والمكتبات البرمجية لإنشاء مقطع برمجي في بايثون، ومعرفة مميزات إنشاء مقطع برمجي في بايثون، بالإضافة لاستخدام نموذج باي جايم البرمجي.

المكتبات البرمجية

لذا قم بقراءة نواتج التعلُّم بعناية، ثم أعد قراءتها وتأكَّد من تحصيل كافة محتوياتها بعد انتهائك من دراسة الموضوع.

نواتج التعلُّم

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

هيا لنبدأ!

مقدمة – المكتبات البرمجية

لقد استخدمت في المواضيع السابقة دوال بايثون مثل دالة sum( )، ودالة max( )، ودالة len( ) لكتابة التعليمات البرمجية من مكتبات ونماذجها بايثون القياسية.

في هذا الموضوع، ستتعمق في هذا المفهوم وتكتشف المزيد عن المكتبات وكيفية استخدامها.

المكتبات البرمجية

تعدُّ المكتبة البرمجية (Programming Library) مجموعة من التعليمات البرمجية المدمجة سابقًا في لغات البرمجة، ويتم استخدامها لتقليل الوقت المُستغرق في البرمجة الفعلية، تمامًا كما هو الحال في المكتبات المادية، وتعدُّ هذه المكتبات من الموارد القابلة لإعادة الاستخدام في أي برنامج؛ لأنها مستقلة عن البرامج التي يتم كتابتها.

المكتبات البرمجية

لمعرفة المزيد من المعلومات عن المكتبات البرمجية، قم بالاطّلاع على الرابط التالي:

مكتبة برمجية – ويكيبيديا

المكتبات في بايثون

النموذج البرمجي في بايثون هي مجموعة من الدوال الجاهزة التي تسمح لك بتنفيذ العديد من الإجراءات دون كتابة مقطع برمجي كبير.

تتوفر في بايثون مكتبة قياسية (Standard library)، كما يمكن الوصول إلى آلاف المكتبات التي بُنِيَت من قِبل مجتمعات المطورين حول العالم.

قبل أن تنتقل إلى مكتبات بايثون، عليك أن تتعرف على مصطلح النموذج البرمجي (Module).

النماذج البرمجية

هي حزمة من الملفات تحتوي مقاطع برمجية، يتم استيرادها إلى البرنامج لتنفيذ وظائف مختلفة ويكون امتدادها عادةً “py”.

لاحظ أن

استخدمت سابقًا النموذج البرمجي للسلحفاة لرسم الأشكال، واستخدمت نموذج أوبين بيكسل البرمجي (openpyxl module) لقراءة البيانات وكتابتها في ملف إكسل.

المكتبات البرمجية

معلومة

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

لمعرفة المزيد من المعلومات عن مكتبات بايثون، قم بالاطّلاع على الرابط التالي:

أهم 10 مكتبات بايثون تستخدم في المشاريع الصغيرة – أكاديمية حسوب

مكتبة بايثون القياسية (Python Standard Library)

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

والتي تثبّت تلقائيًا عند تثبيت بايثون؛ مما يجعل نماذجها متاحة بشكل موثوق لأي مقطع برمجي يُكتب في بايثون، وبهذا تكون هذا النموذج البرمجي جزءًا أساسيًا من لغة بايثون ذاتها.

تحتوي هذا النموذج البرمجي على أكثر من 200 نموذج برمجي.

مكتبة بايثون القياسية واسعة للغاية وتقدم مجموعة واسعة من النماذج البرمجية التي أُشير إليها سابقًا، فهي تحتوي على النماذج البرمجية مدمجة مكتوبة بلغة برمجة (C) توفر الوصول إلى وظائف النظام مثل الملفات، وكذلك على النماذج البرمجية كُتبت بلغة بايثون، وتلك توفر حلولًا قياسية للعديد من المشكلات البرمجية.

يمثل الرسم البياني أدناه بعض نماذج المكتبة القياسية (Standard Library) وبعض دوالها.

مكتبة بايثون الأخرى

لا يقتصر الأمر على المكتبة القياسية المثبتة في بايثون، بل يمكِن بسهولة تنزيل مكتبات إضافية وتثبيتها لإضافة دوال أخرى قد تحتاجها في برامج أخرى.

تأتي معظم المكتبات الإضافية بأدوات التثبيت الخاصة بها أو ببرنامج التثبيت النصّي الخاص بها.

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

في هذا الموضوع ستتعرف أكثر على المكتبات القياسية.

المكتبات البرمجية

لمعرفة المزيد من المعلومات عن المكتبات القياسية في بايثون، قم بالاطّلاع على الرابط التالي:

المكتبات القياسية المطلوبة في Python – مدونة تقنية التوأم لتقنية المعلومات

استخدام مكتبة بايثون القياسية

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

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

  1. استيراد الكل

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

المكتبات البرمجية

معلومة

مكتبات بايثون الخارجية (External Python Libraries) هي مكتبات إضافية غير مثبتة في بايثون. ومن أجل استخدامه، تحتاج إلى استيرادها إلى البرنامج.

  1. استيراد دوال من نموذج برمجي

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

  1. استيراد النماذج البرمجية

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

المكتبات البرمجية

لاحظ أن

من المهم أن تدرك أنه ليس بالضرورة فهم المكتبة بأكملها، طالما كنت قادرًا على اختيار الأجزاء التي تحتاجها فقط. والآن بعد أن تعرفت على أساسيات مكتبات بايثون، حاول معرفة مدى قدرتك على استخدامها.

الوحدات النمطية الأكثر استخدامًا في المكتبة القياسية

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

  1. نموذج sys البرمجي

الهدف من نموذج sys البرمجي هو مساعدة المطور في معرفة المزيد عن النظام الخاص بجهاز المستخدم ومشغل بايثون الذي ثُبّت على الجهاز، وكما هو الحال في جميع النماذج الأخرى، يجب استيراد نموذج sys البرمجي باستخدام الأمر “import”.

في هذا المثال ستحدد هوية نظام التشغيل الخاص بك.

المكتبات البرمجية

  1. نموذج os البرمجي

يعدُّ نموذج os البرمجي مثالًا جيدًا على النموذج القابل لإعادة الاستخدام التي توفر بعض الوظائف الأساسية للمقطع البرمجي للتفاعل مع جهاز المُستخدِم دون الحاجة إلى أخذ نظام التشغيل للمُستخدِم بعين الاعتبار.

من الممكن إجراء العديد من مهام نظام التشغيل تلقائيًا. يوفر نموذج برمجي os في بايثون دوال لإنشاء مجلد وإزالته، وجلب محتوياته، وتغيير المسار الحالي أو تحديده.

على سبيل المثال، هناك دالة getcwd( ) get current working directory في وحدة نظام التشغيل والتي باستخدامها يمكِنك معرفة اسم المجلد الذي يتعامل مع المقطع البرمجي الخاص بك.

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

ستستخدم دالة chdir، لتغيير المسار الحالي إلى مسار تم إنشاؤه حديثًا قبل القيام بأي عمليات فيه.

ثم ستُعيد المسار الحالي إلى المسار الأصلي باستخدام “..” كوسيط في الدالة chdir.

المكتبات البرمجية

بعد الوصول إلى المسار المطلوب، قد ترغب في الوصول إلى محتواه، ترجع الدالة listdir( ) قائمة تحتوي على أسماء ملفات هذا المجلد.

  1. نموذج dir( ) البرمجي

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

انظر ما تحتوي عليه نموذج os البرمجي:

المكتبات البرمجية

معلومة

دالة dir ليست مفيدة للمكتبات فقط، بل يمكِن استخدامها مع جميع كائنات بايثون، مثل الفئات (classes) والدوال (function)، كما أنها تدعم أنواع البيانات من النصوص والأرقام.

بإمكانك مراجعة محتوى موضوع “المكتبات البرمجية” من بدايته وحتى هذه النقطة، من خلال الرابط التالي:

  1. نموذج math البرمجي

تُعرّف النموذج math البرمجي بعض الدوال الرياضية الأكثر شيوعًا، مثل الدوال المثلثية، والدوال اللوغاريثمية، ووظائف تحويل الزاوية وغيرها.

يوجد عدد كبير من الدوال في هذه النموذج البرمجي الخاص بالرياضيات، مثل:

عندما تريد العمل مع الدوال (sin, cos, tan, …) تحتاج إلى الزاوية بالتقدير الدائري كوسيط. على سبيل المثال: تحول المقاطع البرمجية الآتية الزاوية 60 من التقدير الستيني إلى الدائري وبالعكس.

المكتبات البرمجية

معلومة

للتعامل مع الزوايا في بايثون يجب أن تكون الزوايا بالتقدير الدائري.

يمكِنك الآن التعامل مع الدوال (sin, cos, tan, …) الخاصة بزاوية 60 درجة (1.047197511965976) بالتقدير الدائري.

يمكِن لدوال النموذج math البرمجي أن تساعدك على إجراء حسابات معقدة.

المكتبات البرمجية

الدالتان الآتيتان تساعدان في تقريب الأعداد العشرية.

المكتبات البرمجية

  1. نموذج tkinter البرمجي

نموذج tkinter البرمجي هو إحدى الحالات التي يستورد فيها كامل النموذج البرمجي حيث تَستخدِم مجموعة كبيرة من دوالها، كما هو موضّح في المثال أدناه، تحتاج إلى استدعاء 4 دوال فقط لإنشاء النافذة.

  1. نموذج time البرمجي

هناك نموذج برمجي معروف متاح في بايثون توفر دوال للعمل مع الأوقات.

المكتبات البرمجية

  1. نموذج datetime البرمجي

تحتاج إلى التعامل مع التواريخ والوقت بكثرة في البرامج المختلفة، ولهذا السبب؛ توفر المكتبة القياسية نموذج datetime البرمجي لمساعدتك في العمل مع هذا النوع من البيانات.

يمكِنك أن تسأل عن اليوم بطريقة مختلفة باستخدام سمة (Attribute) الدالة. في هذا المثال، تحتاج سمة (Attribute) اليوم (day) والشهر (month) والسنة (year) من دالة date.today( ) ويمكِنك استخدام نموذج الصيغة الآتية:

المكتبات البرمجية

ستستخدم في المثال الآتي نموذج datetime البرمجي لحساب عدد الأيام المتبقية لذكرى يوم التأسيس.

مميزات إنشاء المقطع البرمجي الخاص بك

يعدُّ إعادة استخدام التعليمات البرمجية من الممارسات الجيدة دائمًا، حيث يوفر السرعة والموثوقية في عملية البرمجة.

قد يتميز المقطع البرمجي الخاص بك بمميزات معيَّنة مقارنةً بذلك الموجود في النموذج البرمجي القياسي أو تلك المكتوبة من مبرمجين آخرين، وفيما يأتي أهم تلك المميزات:

يلائم المقطع البرمجي الخاص بك احتياجاتك الحقيقية.

يمكِنك التحكُّم الكامل بالمقطع البرمجي والقدرة على تصحيح الأخطاء والقيام بالتغييرات بنفس اللحظة عند الضرورة.

المقطع البرمجي الخاص بك أكثر موثوقية؛ لأنه قد لا تتوفر معلومات التوثيق الكافية في النماذج البرمجية الخارجية، أو قد لا تكون معلومات التوثيق صحيحة.

قد يحتاج استخدام النماذج البرمجية الخارجية إلى تحديثات من قِبل المطوِّر الأصلي والتي ستتوقف في حال توقُّف المطوِّر عن عمله؛ مما يضطرك إلى البحث عن حلول بديلة.

قد تكون تكلفة استخدام أو ترخيص استعمال النماذج البرمجية الخارجية مكلفة للغاية أو مقيدة في الاستخدام. هناك العديد من المكتبات مفتوحة المصدر ومجانية الاستخدام.

مدير حزم بايثون

يساعدك مدير حزم بايثون (Python PIP) في تثبيت حزم إضافية غير متوفرة في مكتبة بايثون القياسية.

تثبيت الحزم مع مدير حزم بايثون

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

تُستضاف معظم هذه الحزم وتُنشر رسميًا في فهرس حزمة بايثون (Python Package Index (PyPI)) حيث تتيح لك تنزيل هذه الحزم وتثبيتها.

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

يتم استخدام الأمر تثبيت (install) لتثبيت الحزم باستخدام مدير حزم بايثون. ومن الأمثلة على ذلك:

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

لاحظ أن

تحتوي الحزمة على جميع الملفات المطلوبة في النموذج البرمجي.

بدء استخدام نموذج باي جايم البرمجي

سترى الآن كيف يمكِنك استخدام نموذج pygame البرمجي لإنشاء أشكال هندسية على الشاشة. قبل استخدام نموذج pygame البرمجي، يجب عليك تثبيت المكتبة القياسية pygame في باي تشارم (PyCharm).

لتثبيت المكتبة القياسية باي جايم (pygame):

  1. في نافذة PyCharm (باي تشارم)، اضغط على Packages (الحزم).
  2. اكتب pygame (باي جايم) في شريط البحث.
  3. اختر pygame (باي جايم).
  4. اضغط على Install (تثبيت).
  5. ستظهر رسالة تُخبرك بأن التثبيت قد اكتمل.

المكتبات البرمجية

لاحظ أن

في بعض الأحيان يمكِن أن يكون للمكتبة القياسية والنموذج البرمجي نفس الاسم.

لإنشاء شاشتك الخاصة، عليك استخدام الأوامر الآتية:

يجب استدعاء الدالة pygame.init( ) بعد استيراد نموذج البرمجي pygame وقبل استدعاء أي دالة أخرى، وهذا يؤدي إلى تهيئة pygame لتكون جاهزة للاستخدام.

لإعداد نافذة خاصة بنموذج البرمجي pygame وتشغيلها تحتاج إلى استدعاء الدالة pygame.display.set_mode( )وذلك لتحديد حجم النافذة التي تريد إنشاءها.

تستخدم نافذة باي جايم نظام إحداثيات محدَّد بالبكسل. تعمل جميع نماذج البكسل معًا لعرض الصورة التي تراها، فالنافذة المعروضة لها عرض (Width) بعدد (x pixels) وارتفاع (Height) بعدد (y pixels).

بمجرد تثبيت حزمة باي جايم فإنها تكون جاهزة للاستخدام.

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

المكتبات البرمجية

في المثال الآتي ستنشئ شكلًا بناءً على خطوط.

لا تظهر التغييرات التي تجريها على الشاشة فورًا، فدالة pygame.display.update( ) تطبق ميزة تسمى التخزين المؤقت المزدوج (double buffering)، وهي إحدى ميزات باي جايم التي تتيح لك إجراء الكثير من التغييرات على الشاشة ثم إظهارها جميعًا معًا كإطار واحد، أما إذا كان هناك حركة سريعة فإن الشاشة “ستومض” وسيكون ذلك مزعجًا.

المكتبات البرمجية

عرض صورة بواسطة (PyGame)

يمكِنك باستخدام بايثون تحميل وعرض الصور في تطبيقنا لإنشاء البيئة الخاصة بك، وتوجد هناك مجموعة متنوعة من الطرق لعرض الصور الرسومية حسب الغرض من المشروع.

ستستخدم نموذج PyGame البرمجي في هذا المشروع.

يجب أن تَستخدِم الأوامر الآتية لإنشاء نافذة جديدة:

لتحميل الخلفية في النافذة يجب أن تضيف الأوامر الآتية إلى المقطع البرمجي:

المكتبات البرمجية

إضافة صورة وكائن الخلفية:

  • ضع في اعتبارك أنه من أجل تعيين صورة كخلفية، عليك تحديد موضعها عند النقطة (0,0) لملء النافذة بالكامل.
  • كذلك عند تحميل صورة “Earth”، سيظهر العالم بخلفية بيضاء، ولجعل هذه الخلفية شفافة استخدم الإجراء convert_alpha( ) الذي سيغير تنسيق البكسل الخاص بالصورة بما فيها قيم “alpha” الخاصة بالبكسل.

ناتج تنفيذ المقطع البرمجي دون استخدام إجراء convert_alpha( ).

المكتبات البرمجية

ناتج تنفيذ المقطع البرمجي عند استخدام الإجراء convert_alpha( ).

لاحظ أن

من المهم أن تحفظ ملف الصورة في نفس المجلد الذي حفظت فيه الملف البرمجي بلغة البايثون.

بإمكانك مراجعة محتوى موضوع “المكتبات البرمجية” بدايةً من عنوان “نموذج math البرمجي” وحتى نهاية الموضوع، من خلال الرابط التالي:

اختبر تحصيلك لمحتوى الموضوع من خلال الرابط التالي:

الواجب الإلكتروني

إلى هنا يكون قد انتهى موضوع “المكتبات البرمجية“، لا تنسوا مراجعة نواتج التعلُّم أعلى المقال، وانتظرونا في الموضوع القادم!

روابط هامة

مقررات الفصل الدراسي الأول

مشاركة المقال عبر:

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *