تجاوز إلى المحتوى الرئيسي
تطبيق TawjihiAIادرس وتدرّب من هاتفكحمّل التطبيق

الحزم (Packages)

الخوارزميات والبرمجة · المهارات الرقمية

آخر تحديث:

محتويات الدرس (١٦)

شرح الدرس

سأتعرّف في هذا الدرس ماهيّة الحُزَم البرمجية وأنواعها، وأتعلّم كيف أستخدمها وكيفية إنشاء حُزمة برمجية خاصة.

الحُزَم (Packages)

الحُزَم (Packages)، الوحدة (Module)، الحُزَم الخارجية (Third-Party Packages)، الحُزَم التي طوّرها المُستخدم (User-Defined Packages)، الوحدة المُستدعاة (Imported Module)، الوحدة المُستدعية (Calling Module)، الدليل (Directory)، الأسماء المستعارة (Alias)، الدالّة (Function)، الروتين الفرعي (Subroutine).

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

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

نشاط تمهيدي أتأمل المقطع البرمجي الظاهر في الشكل (5-1)، ثمَّ أوضح الجمل الموجودة فيه. ما ناتج تنفيذ البرنامج؟ ماذا تُسمى (math) في لغة البرمجة بايثون؟

```python import math

print(math.sqrt(16)) print(math.pi) print(math.factorial(5)) ``` الشكل (5-1): برنامج في لغة البرمجة بايثون.

الشكل (5-1): برنامج في لغة البرمجة بايثون.
الشكل (5-1): برنامج في لغة البرمجة بايثون.

الوحدة (Module) والحزم (Packages):

الوحدة (Module) في لغة البرمجة بايثون هي ملف يحتوي على مقاطع برمجية (Code) مكتوبة مسبقاً، ومن الممكن استدعاؤها وإعادة استخدامها في برامج أخرى. من الأمثلة على الوحدات التي استخدمتها سابقاً: وحدة (math)، ووحدة (time). أما الحزمة (Package) فهي طريقة لتنظيم الوحدات المرتبطة معاً في تسلسل هرمي، وهي تُعد دليلاً (Directory) يحتوي على وحدات متعددة، وحُزم فرعية، وموارد إضافية، مثل: ملفات البيانات، والوثائق. ويمكن تعرف الدليل - بوصفه حزمة - من خلال وجود ملف (init.py).

أنواع الحزم

توجد أنواع مختلفة من الحزم، أبرزها:

  1. حزم جاهزة مدمجة (Built-in Packages) توفرها لغة البرمجة بايثون، مثل: (math)، و(time).
  2. حزم خارجية (Third-Party Packages) تطورها أطراف ثالثة، وهي توفر مزايا إضافية لمطوري البرامج. وهذا النوع من الحزم يُثبت باستخدام مدير الحزم (pip)، مثل: (numpy)، و(pandas).
  3. حزم مخصصة (User-Defined Packages) يطورها المستخدم لتلائم متطلبات خاصة في برنامجه.
  1. تُعد الحزم في لغة البرمجة بايثون أداة فاعلة لتنظيم المقطع البرمجي (Code)؛ إذ تتيح تقسيم الكود إلى أجزاء صغيرة ومستقلة ومنظمة؛ ما يسهل عملية تصحيح الأخطاء، واختبار البرنامج وصيانته، إضافة إلى تسهيل إعادة استخدام الكود في مشروعات متعددة عن طريق استيرادها؛ ومن ثمَّ يمكن للحزم المختلفة أن تحتوي على وحدات تحمل الاسم نفسه من دون أي مشكلات.
  2. كذلك، فإنَّ الحزم تجعل المشروعات أكثر قابلية للتوسع من خلال دعم التطوير التعاوني بين الفرق المختلفة، وتسهل عملية التعامل مع التعديلات المستقبلية.
  3. وبذلك، تُسهم الحزم في تحسين كفاءة المشروع، وتزيد من مرونته.

إنشاء الوحدات :

  1. يُمكن للمستخدم إنشاء وحدة برمجية خاصة به باستخدام لغة البرمجة بايثون عن طريق كتابة الدوال والوظائف داخل ملف بايثون (Python File)، ثمَّ حفظه في صورة ملف يكون امتداده (py.)، ويحمل اسماً يمثل الوحدة.
  2. بعد ذلك يُمكن إنشاء ملف آخر أساسي، ثمَّ حفظه في المجلد نفسه، واستدعاء الوحدة باستخدام الأمر (import).
  3. وبهذه الطريقة، يُمكن استخدام الدوال والوظائف المُعرَّفة في الوحدة داخل الملف الأساسي؛ ما يسهل تنظيم الكود، ويتيح إعادة استخدامه في مشروعات عديدة.

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

  • أفتح مُحرِّر بايثون، ثمَّ أكتب المقطع البرمجي الآتي الذي يُعرِّف وحدة باسم (area) لحساب مساحة المستطيل.

``python 1 def area (H, W): 2 return H*W ``

  • أحفظ الملف باسم (Rarea.py) في مُجلَّد خاص.
  • أفتح برنامج بايثون جديداً، ثمَّ أكتب البرنامج الآتي:

```python import Rarea

a=Rarea.area (8, 9) print("Rectange Area=",a) ```

  • أحفظ الملف باسم (area_main.py) في المُجلَّد نفسه الذي حفظتُ الكود السابق فيه، ثمَّ أعمل على تنفيذه.

    يظهر الناتج الآتي في شاشة (IDLE Shell):

Rectange Area= 72

ألاحظ أنَّ ملف (Rarea.py) يُسمى الوحدة المستدعاة (Imported Module)، وأنَّ الملف (area_main.py) الذي يتضمَّن جملة الاستدعاء يُسمى الوحدة المستدعية (Calling Module).

نشاط جماعي أنفذ - بالتعاون مع أفراد مجموعتي - المهمة الآتية:

  • فتح مُفسِّر لغة البرمجة بايثون، ثمَّ تعريف وحدة خاصة بالجمع، وإطلاق اسم (Add) عليها، وحفظها باسم (Addition).
  • تعريف وحدة خاصة بالطرح، وإطلاق اسم (Subtract) عليها، وحفظها باسم (Subtraction) في المُجلَّد نفسه الذي حُفظت وحدة (Addition) داخله.
  • تعريف وحدة خاصة بالضرب، وإطلاق اسم (Multiply) عليها، وحفظها باسم (Multiplication) في المُجلَّد نفسه الذي حُفظت وحدة (Addition) داخله.
  • تعريف وحدة خاصة بالقسمة، وإطلاق اسم (Divide) عليها، وحفظها باسم (Division) في المُجلَّد نفسه الذي حُفظت وحدة (Addition) داخله.
  • كتابة الكود المستدعي بحيث يحتوي على ما يأتي:

أ- جمل إدخال لإدخال الأعداد التي يُراد إجراء العمليات الحسابية عليها. ب- جملة لإدخال الرمز الخاص بالعملية الحسابية التي يُراد إجراؤها على الأعداد. ج- جملة شرطية (if statement) لتنفيذ العملية المطلوبة عن طريق استدعاء الوحدة الخاصة بها. د- حفظ الملف باسم (main) في المُجلَّد نفسه الذي حُفظت فيه الوحدات السابقة.

  • تنفيذ البرنامج (main)، وإدخال عملية جديدة وأرقام مختلفة كل مرَّة.

نُشارك أفراد المجموعات الأخرى في ما نتوصل إليه من نتائج، ونتبادل معاً التغذية الراجعة.

أَنْفِذ الخطوات التي تعلَّمْتُها في المثال السابق لعمل وحدات خاصة بإيجاد مساحة شكل رباعي ومحيطه واستدعاء كل منهما. أَشارِك الزملاء/ الزميلات في البرنامج، ونتبادل معًا ما يتعلَّق بالبرنامج من أفكار وتحدّيات وكيفية التغلُّب عليها.

تثبيت الحُزَم الخارجية ومكتبة (NumPy):

تُثبَّت الحُزَم الخارجية في لغة البرمجة بايثون باستخدام مدير الحُزَم الافتراضي (pip) واستخدام الأمر: pip install package_name.

  1. تُعدُّ مكتبة (NumPy) مكتبة جاهزة تُستخدَم مع المصفوفات، وتحتوي على دوال للعمل في مجال الجبر الخطّي، وهي ترمز إلى (Numerical Python).
  2. تُعالج البيانات المُخزَّنة في كائن المصفوفة أسرع بنحو (50) مرَّة تقريبًا من قوائم بايثون التقليدية؛ ما يجعلها أكثر استخدامًا في علم البيانات، ويُطلق على كائن المصفوفة في المكتبة (NumPy) اسم (ndarray).
  3. ومن الجدير يُذكر أنَّ جزءًا من هذه المكتبة مكتوب بلغة البرمجة بايثون، خلافًا للأجزاء التي تتطلَّب سرعة عالية؛ فهي مكتوبة بلغة C أو لغة C++.

مثال: لتثبيت مكتبة (numpy) في جهاز الحاسوب، أَتَّبع ما يأتي: أفتح (command prompt) من زرّ البدء. أكتب الأمر (pip install numpy).

C:\Users\user1 >pip install numpy

قد تظهر المشكلة الآتية: 'pip' is not recognized as an internal or external command, operable program or batch file.

يُمكن تنزيل هذه المكتبة عن طريق الأمر الآتي:

``text Python -m pip install numpy C:\Users\user1 >python -m pip install numpy ``

ستظهر رسائل تُؤكِّد تثبيت المكتبة. أكتب الصيغة العامة لتثبيت مكتبات بايثون، ثمَّ أبحث عن هذه المكتبات، وأعمل على تثبيتها باستخدام الصيغة العامة. بعد ذلك أشارك الزملاء/ الزميلات في النتائج التي توصَّلتُ إليها.

أبحث

أبحث في المواقع الإلكترونية الموثوقة في شبكة الإنترنت عن وظائف المكتبات الآتية:

  • مكتبة (pillow).
  • مكتبة (emoji).
  • مكتبة (PyPDF2).

أدون النتائج التي أتوصل إليها، ثمَّ أشاركها مع الزملاء/ الزميلات في الصف.

استخدام المكتبات:

يتطلَّب استخدام المكتبات في برامج بايثون استيرادها أولًا. ويُمكن ذلك باستخدام الأمر (import) متبوعًا باسم المكتبة كما هو مُوضَّح في المثال الآتي.

مثال:

يعمل البرنامج الآتي على استيراد مكتبة (numpy)، وتعريف مُتغيِّر يحمل اسم (five_elements)، ويحتوي على خمسة عناصر، ثمَّ طباعته.

```python import numpy five_elements=numpy.array([1,2,3,4,5])

print(five_elements) ```

بعد تنفيذ البرنامج، سيظهر الناتج الآتي: [1 2 3 4 5]

تتيح برامج بايثون كتابة أسماء مستعارة (Alias) بدلًا من كتابة الأسماء الحقيقية للمكتبات.

```python import numpy as np five_elements=np.array([1,2,3,4,5])

إضاءة

يُمكن تعرُّف النسخة المُستخدَمة في العمل بكتابة الجملة الآتية: ``python import numpy print (numpy.__version__) ``

أدخل كل مقطع برمجي ممَّا يأتي في مُفسِّر لغة البرمجة بايثون، ثمَّ أنفِّذه، وألاحظ الناتج: أ-

print(fiveelements) print(type(fiveelements)) ```

ب-

```python import numpy as np five_elements=np.array((1,2,3,4,5))

أشارك الزملاء/ الزميلات في النتائج التي أتوصل إليها، ثمَّ أقارنها بما توصَّل إليه الزملاء/ الزميلات من نتائج، ونتبادل معًا التغذية الراجعة.

إنشاء الحُزم :

  1. يُعدُّ إنشاء الحُزم باستخدام لغة البرمجة بايثون واحدًا من الجوانب المُهمَّة في تطوير البرمجيات الحديثة؛ إذ إنَّه يتيح لمُطوِّري البرامج تنظيم المقاطع البرمجية (الأكواد) بطريقة منهجية يُمكن بها إعادة الاستخدام.
  2. ومن ثمَّ، فإنَّ إنشاء الحُزم يسمح بتقسيم المشروعات الكبيرة إلى أجزاء صغيرة ومُنْفصلة؛ ما يُسهِّل إدارة الكود.
  3. كذلك تُمكِّن الحُزم مُطوِّري البرامج من مشاركة الآخرين في برامجهم؛ إمَّا بتثبيتها محليًّا، وإمَّا بنشرها في مستودعات، مثل مستودع بايثون الرسمي (PyPI).

يُبيّن المثال الآتي كيف يُمكن إنشاء حُزمة وحدات

تتولَّى الوحدة الأولى اختبار إذا كان العدد زوجيًّا أو فرديًّا، ثمَّ طباعة النتيجة، في حين تعمل الوحدة الثانية على اختبار إذا كان العدد موجبًا أو سالبًا، ثمَّ طباعة النتيجة. يُمكن إنشاء الحُزمة بتنفيذ الخطوات الآتية:

  • إنشاء ملف بايثون فارغ، ثمَّ حفظه باسم (init.py) في مُجلَّد الحُزمة، وليكن اسم المُجلَّد (G12_Package). أتذكَّر أنَّه يجب الانتباه إلى حالة الأحرف؛ لأنَّ لغة البرمجة بايثون حسَّاسة تجاه حالة الأحرف.
  • إنشاء ملف بايثون جديد، ثمَّ كتابة الدَّالة الآتية فيه:

``python def even_odd (x): if x%2 ==0: print ("The number is even number") else: print ("The number is odd number") return ``

  • حفظ الملف في مُجلَّد الحُزمة باسم (evennumber.py). ألاحظ أنَّ (evennumber) يُعدُّ وحدة نمطية (module):
  • يُمكن إنشاء الوحدة النمطية بتنفيذ الخطوتين الآتيتين:
  • إنشاء ملف بايثون آخر، ثمَّ كتابة الدَّالة الآتية فيه:

``python def positive_or_negative(x): if x > 0: print("The number is positive") elif x < 0: print("The number is negative") else: print("The number is equal to 0") return ``

  • حفظ الملف في مُجلَّد الحُزمة باسم (positive_negative.py).
  • إنشاء ملف بايثون جديد باسم (main)، ثمَّ كتابة المقطع البرمجي الآتي فيه:

```python from G12package import evennumber from G12package import positivenegative

number= int (input ("Enter a number=")) evennumber. evenodd (number)

positivenegative.positiveor_negative (number) ```

  • حفظ الملف خارج الحُزمة، وفي مكان حفظ المُجلّد نفسه. فمثلاً، إذا حفظتُ الحُزمة على سطح المكتب، فإنني أحفظ هذا الملف أيضاً على سطح المكتب.
  • أُنفّذ البرنامج في الملف (main)، فألاحظ النواتج الآتية بناءً على المُدخلات:

.1

Enter a number=⁦211 The⁩ number is odd number The number is positive

.2

Enter a number= -⁦45 The⁩ number is odd number The number is negative

.3

``text Enter a number= -24 The number is even number The number is negative ``

من المُلاحظ أنني استخدمتُ الأمر البرمجي الآتي لاستدعاء وحدة نمطية داخل حُزمة مُعيّنة:

``python from package_name import module_name ``

ثمّ استخدمتُ الأمر البرمجي الآتي لاستدعاء دالّة مُعيّنة داخل الوحدة النمطية:

``python module_name.function_name ``

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

  • أُنشِئ - بالتعاون مع أفراد مجموعتي - إحدى الحُزم البرمجية الآتية ضمن مشروع خاص بإدارة المهام، يساعد الطلبة على تنظيم أوقاتهم ومهامهم الدراسية:
  • حُزمة لإنشاء المهام وتحديثها وحذفها (tasks.management).
  • حُزمة لتنبيه الطلبة بخصوص المواعيد النهائية (tasks.notifications).
  • حُزمة لتوليد تقارير عن المهام المُكتملة (tasks.report).

    نُشارك أفراد المجموعات الأُخرى في تنفيذ النشاط، ثمّ نجمع الحُزم بعضها مع بعض في ملف يحمل اسم (main).

أقرأ المقطع البرمجي الآتي بتدبّر ورَوِيّة، ثمّ أُجيب عن الأسئلة التي تليه:

``python from mymathpackage import basic_operations print("Square root of 16=", basic_operations.sqrt(16)) print("2 to the power of 3=", basic_operations.power(2, 3)) print("Sin of 30 degrees=", basic_operations.sin(30)) print("Cos of 60 degrees=", basic_operations.cos(60)) print("Tan of 45 degrees=", basic_operations.tan(45)) ``

  • أُناقش ما يقوم به المقطع البرمجي بوجه عام.
  • أُحدّد اسم الحُزمة البرمجية المُستخدمة في المقطع البرمجي.
  • أُنشئ الحُزمة البرمجية المطلوبة، وأحرص على تضمين جميع الدوال البرمجية المُشار إليها في المقطع البرمجي.
  • أحفظ الحُزمة البرمجية في مكانها الصحيح؛ لأتمكّن من استدعائها عن طريق البرنامج الرئيس.
  • أُنفّذ البرنامج باستخدام مُفسّر لغة البرمجة بايثون، ثمّ أُلاحظ النتائج.
  • أدوّن النتائج التي أتوصل إليها، ثمّ أُشاركها مع الزملاء/ الزميلات في الصف.

المواطنة الرقمية:

  • نشر المعرفة: أُقسّم البرامج الكبيرة إلى حُزم، ثمّ إلى وحدات برمجية ودوال برمجية؛ لكي يتمكّن مُطوّرو البرامج من استخدامها.
  • الأمان والموثوقية: أُراعي حقوق الملكية الفكرية؛ بأن أستخدم الحُزم بصورة قانونية، وألّا أتعدّى على حقوق الملكية الفكرية لأصحاب الحُزم. كذلك أتجنّب استخدام الحُزم التي تُوزّع بطريقة غير قانونية أو دون إذن من أصحاب الحقوق.

أُقيّم تعلّمي

المعرفة: أستخدم ما تعلّمته من معارف في هذا الدرس للإجابة عن الأسئلة الآتية: السؤال الأوّل: أُعرّف الحُزم البرمجية، ثمّ أُوضّح أهمية استخدامها في المشروعات.

السؤال الثاني: ما الفَرق بين الوحدة (Module) والحُزمة (Package)؟

السؤال الثالث: ما الخطوات اللازمة لإنشاء وحدة برمجية (Module) في بايثون؟

السؤال الرابع: كيف يُمكن تثبيت مكتبة خارجية باستخدام (pip)؟

السؤال الخامس: أملأ الفراغ بما هو مناسب في ما يأتي:

  1. الهدف الرئيس لإنشاء الحُزم في بايثون هو .....................................
  2. الملف الذي يجب أن تحتويه كل حُزمة في بايثون هو .....................................
  3. يُمكن استيراد ملف مُعيّن من حُزمة في بايثون باستخدام التعليمة .....................................
  4. الخطوة الأولى لإنشاء حُزمة في بايثون هي .....................................

المهارات: أُوظّف مهارات التفكير الناقد والبحث الرقمي والتواصل في الإجابة عن الأسئلة الآتية: السؤال الأوّل: ماذا تعني عبارة: "الاتّساق في ممارسات الترميز الخاصة بالمُبرمج"؟

السؤال الثاني: أُنشئ حُزمة تساعد على معالجة النصوص؛ بأن تعمل على حساب عدد الكلمات، وعكس النصوص، وتحويل النصوص من أحرف كبيرة إلى أحرف صغيرة والعكس.

السؤال الثالث: أُنشئ وحدة برمجية لحساب محيط دائرة ومساحتها، ثمّ أحفظها في ملف مُنفصل.

```python def drawtriangle(n): if n == 0: return drawtriangle(n - 1) print("" n)

draw_triangle(5) ```

```python def repeatstring(s, n): if n == 0: return "" return s + repeatstring(s, n - 1)

print(repeat_string("Hello", 3)) ```

تقويم ذاتي

بعد دراستي هذه الوحدة، اقرأ الفقرات الواردة في الجدول الآتي، ثمّ أضع إشارة (✔) في العمود المناسب:

مُؤشرات الأداءنعملالستُ مُتأكّدًا
1- أُعرّف دورة حياة تطوير النظام (SDLC).◯◯◯
2- أصف دورة حياة تطوير النظام باستخدام أحد النماذج الآتية: (Spiral, Agile, or Waterfall).◯◯◯
3- أستخدم المُخطّطات (Flow Charts) والخوارزمية شبه الرمزية (Pseudocode) في تمثيل الخوارزميات المُرّكبة.◯◯◯
4- أستخدم أدوات تمثيل المُخطّطات.◯◯◯
5- أُقارن بين هياكل البيانات المناسبة أثناء حلّ مشكلة مُحدّدة.◯◯◯
6- أُوضّح كيفية عمل البرامج الراجعة.◯◯◯
7- أجد حلولًا برمجيةً باستخدام جمل برمجية مُعدّة مُسبقًا (روتين فرعي).◯◯◯
8- أستخدم لغة البرمجة بايثون في إيجاد حلول برمجية.◯◯◯
9- أستخدم لغة البرمجة بايثون في إعداد مكتبة برمجية (Library).◯◯◯
10- أُعرّف الأنماط البرمجية◯◯◯
11- أُجزّئ المشكلة إلى مشكلات صغيرة يُمكن حلّها عن طريق البرمجيات أو أجزاء من برامج مُعدّة مُسبقًا.◯◯◯

تعليمات للمراجعة والتحسين

إذا اخترتُ (لا) أو (لستُ مُتأكّدًا) لأيِّ من الفقرات السابقة، فأتبع الخطوات الآتية لتجنُّب ذلك:

  • أراجع المادة الدراسية؛ بأن أُعيد قراءة المحتوى المُتعلِّق بالمعيار.
  • أطلب المساعدة؛ بأن أُناقش مُعلّمي / مُعلّمتي أو زملائي / زميلاتي في ما تعذَّر عليَّ فهمه.
  • أستخدم مراجع إضافية؛ بأن أبحث عن مراجع أُخرى مثل الكتب، أو أستعين بالمواقع الإلكترونية الموثوقة التي تُقدِّم شرحًا وافيًا للموضوعات التي أجد صعوبة في فهمها.

تأمُّلات ذاتية

عزيزي الطالب، عزيزتي الطالبة: التأمُّلات الذاتية هي فرصة لتقييم عملية التعلُّم، وفهم التحدِّيات، وتطوير استراتيجيات لتحسين عملية التعلُّم مستقبلًا. أملأ الفراغ في ما يأتي بالأفكار والتأمُّلات الشخصية التي يُمكن بها تحقيق أفضل استفادة من التجربة التعليمية:

تعلَّمتُ في هذه الوحدة

يُمكنني أن أُطبِّق ما تعلَّمتُه في:

الصعوبات التي واجهتُها أثناء عملية التعلُّم:

ذلَّلتُ هذه الصعوبات عن طريق:

يُمكنني مستقبلًا تحسين:

تعريفات أساسية

الدالة (Function)

الدالة البرمجية (Function) تمثل مقطعاً برمجياً له اسم يؤدي وظيفة ما، ويمكن استدعاؤه باستخدام اسمه.

الوحدة (Module)

الوحدة (Module) في لغة البرمجة بايثون هي ملف يحتوي على مقاطع برمجية (Code) مكتوبة مسبقاً، ومن الممكن استدعاؤها وإعادة استخدامها في برامج أخرى.

الحزم (Packages)

أما الحزمة (Package) فهي طريقة لتنظيم الوحدات المرتبطة معاً في تسلسل هرمي، وهي تُعد دليلاً (Directory) يحتوي على وحدات متعددة، وحُزم فرعية، وموارد إضافية، مثل: ملفات البيانات، والوثائق.

الحزم الخارجية (Third-Party Packages)

حزم خارجية (Third-Party Packages) تطورها أطراف ثالثة، وهي توفر مزايا إضافية لمطوري البرامج.

الحزم التي طورها المستخدم (User-Defined Packages)

حزم مخصصة (User-Defined Packages) يطورها المستخدم لتلائم متطلبات خاصة في برنامجه.

الوحدة المستدعاة (Imported Module)

ملف (Rarea.py) يُسمى الوحدة المستدعاة (Imported Module)

الوحدة المستدعية (Calling Module)

الملف (area_main.py) الذي يتضمَّن جملة الاستدعاء يُسمى الوحدة المستدعية (Calling Module)

الأسماء المستعارة (Alias)

تتيح برامج بايثون كتابة أسماء مستعارة (Alias) بدلًا من كتابة الأسماء الحقيقية للمكتبات.

مكتبة (NumPy)

تُعدُّ مكتبة (NumPy) مكتبة جاهزة تُستخدَم مع المصفوفات، وتحتوي على دوال للعمل في مجال الجبر الخطّي، وهي ترمز إلى (Numerical Python).

معاينة موضوع «الحزم (Packages)» من وحدة «الخوارزميات والبرمجة» في مادة المهارات الرقمية. أقسام الشرح: ١٦، التعريفات: ٩.

المصدر: المركز الوطني لتطوير المناهج، الحزم (Packages) (ص ٧١–٨٧)

موضوعات أخرى في الوحدة

تابع الدراسة