اهلا ومرحبا بكم في مدونه : Cyber1101 انظم للمجتمع

Modules Python

 


مفهوم ال modules في بايثون


في Python ، modules هي ملفات تحتوي على الدوال والمتغيرات والكلاسات التي يمكن استخدامها في برنامجك الخاص. يمكن لـ modules أن تساعد في تقسيم البرنامج الخاص بك إلى أجزاء صغيرة وأكثر تنظيمًا ، مما يجعلها أسهل في الصيانة وفهمها.

عندما تريد استخدام modules ، يجب عليك استيرادها داخل برنامجك باستخدام الأمر import . يمكنك استيراد module كامل ، أو اختياريًا لتحديد المنتجات التي تريد استخدامها من module. 


على سبيل المثال، إذا كنت ترغب في استخدام دالة معينة تسمى "function1" في module يسمى "module1"، يمكنك استخدام الأمر التالي:


from module1 import function1



وبعد ذلك سيكون بإمكانك استخدام الدالة باستخدام اسمها في برنامجك، على سبيل المثال:

function1()



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

طريقة انشاء module 


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


# module example: matrix.py
def add_matrices(a, b):
    result = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
    for i in range(len(a)):
        for j in range(len(a[0])):
            result[i][j] = a[i][j] + b[i][j]
    return result



في هذا المثال، تم إنشاء وظيفة تقوم بجمع مصفوفتين من نفس الحجم وإرجاع مصفوفة جديدة تحتوي على النتائج. لاحظ أن اسم الملف هو matrix.py.

بعد حفظ هذا الملف، يمكن استخدام هذه الوحدة في أي ملف آخر داخل نفس المجلد أو داخل مجلد فرعي باستخدام الأمر التالي:


from matrix import add_matrices
matrix1 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
matrix2 = [[9, 8, 7], [6, 5, 4], [3, 2, 1]]
result = add_matrices(matrix1, matrix2)
print(result)



في هذا المثال، تم استدعاء الوظيفة add_matrices من الوحدة matrix وتم استخدامها لجمع مصفوفتين.


تضمين محتوئ module في module اخر


يمكنك تضمين محتوى وحدة في وحدة أخرى باستخدام العبارة import . يمكن استيراد الوحدات الموجودة في نفس الدليل الحالي باستخدام اسم الوحدة. لاستيراد الوحدات الموجودة في مجلد آخر ، يجب تضمين اسم المجلد في الاستيراد. 


هناك ثلاث طرق شائعة للاستيراد:

  •  استيراد كامل:
   يمكنك استيراد جميع محتويات الوحدة باستخدام العبارة import ، ويتم استخدام اسم الوحدة كـ prefix.


  


    import module_name
    module_name.function_name()
   



  •  استيراد محدد لدالة / فصل:
   يمكنك استيراد دالة أو فصل من الوحدة بدلاً من استيرادها بأكملها.

  


    from module_name import function_name
    function_name()
   


  • إعادة تسمية الوحدة المستوردة:
   يمكنك إعادة تسمية الوحدة التي تم استيرادها بأسماء مختلفة.

  


    import module_name as new_name
    new_name.function_name()
   



مثال:

لنفترض أن لديك مجلد يسمى utilities يحتوي على وحدة تسمى helper_module.py وتحتوي على دالة اسمها helper_function() .



# في الوحدة التي تريد استيراد الدالة منها
from utilities.helper_module import helper_function
helper_function()


وبهذا ستكون قد قمت بإستيراد الدالة helper_function() الموجودة في ملف helper_module.py في دليل utilities .


تضمين كل محتوئ ال module واستدعاءه باسمه فقط 


يمكن تضمين محتوى الوحدات في برنامج Python باستخدام الاستيراد، وذلك عن طريق استخدام الأمر import ، مثل هذا المثال:



import module_name



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


module_name.function_name()
module_name.variable_name



وإذا كان لديك العديد من الوظائف أو المتغيرات التي تريد استخدامها من الوحدة، يمكنك استخدام الأمر from لتحديد الوظائف أو المتغيرات التي تحتاج إليها، مثل هذا المثال:



from module_name import function_name, variable_name



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

اعادة تسمية ال module عند تضمينها


يمكن إعادة تسمية Module عند تضمينها باستخدام الأمر "import" مع وضع اسم جديد للـ Module المستورد.

مثلاً، إذا كنت تريد استيراد Module يسمى "examplemodule" وتسميته "mymodule" ، يمكنك استخدام الأمر التالي:


import example_module as my_module



بعد ذلك، يمكن استخدام الـ functions والـ variables الموجودة في mymodule بنفس الطريقة التي تم استخدامها في examplemodule.

تضمين module جاهزة


يمكنني تضمين العديد من المكتبات والوحدات (modules) الجاهزة في لغة Python، مثل:

  • - numpy: وحدة تسمح بالعمليات الرياضية والاستدعاء الأسرع للإجراءات الرياضية.
  • - pandas: وحدة تسمح بالتلاعب بالبيانات، والتحقق من الصحة، وتحويل البيانات من نوع إلى آخر.
  • - matplotlib: وحدة تسمح برسم الرسومات والرسوم البيانية.
  • - TensorFlow: وحدة تساعد على التعلم الآلي والتعلم العميق.
  • - PyTorch: وحدة أخرى للتعلم الآلي والتعلم العميق.
  • - scikit-learn: وحدة لتعلم الآلة وتحليل البيانات.

لتضمين هذه الوحدات، يجب تثبيتها باستخدام مدير حزم بيثون مثل pip. على سبيل المثال، يمكن استخدام الأمر التالي في سطر الأوامر لتثبيت وحدة numpy:


pip install numpy



بعد تثبيتها، يمكن استخدام الأوامر التالية لتضمين هذه الوحدات في ملف Python:


import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import tensorflow as tf
import torch
from sklearn import datasets



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

استخراج اسماء جميع الاشياء الموجودة في module 


لا يمكن استخراج اسماء جميع الأشياء الموجودة في module بايثون بطريقة عامة ودقيقة، ولكن يمكن استخدام دالة dir() للحصول على قائمة بجميع الأسماء المتاحة في module.


فيما يلي مثال بسيط يستخدم دالة dir() للاطلاع على جميع الأسماء المتاحة في module math:



import math
print(dir(math))



ستظهر هذه الطريقة قائمة بجميع الأسماء المتاحة في module math. ومن ثم يمكن استخدام هذه الأسماء لتنفيذ الوظائف المتاحة في هذا module.


إرسال تعليق

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.