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

Abstraction Python التجريد في بايثون

 




مفهوم التجريد في بايثون


في لغة بايثون ، التجريد (Abstraction) هو عملية إخفاء تفاصيل تنفيذ البرنامج وتقديم واجهة أسهل للاستخدام للمستخدمين. في الأساس ، يعمل التجريد على تقليل التعقيد وزيادة البساطة في البرمجة.

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

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

تعريف Abstract Class



يُعرف الـ Abstract Class في البرمجة الشيئية (Object-Oriented Programming) بأنّها صنف من الصفوف لا يمكن إنشاء كائنات منها، وذلك لأنّها تحتوي على وظائف غير مكتملة أو غير محددة بعد، وبالتالي فإنّها تستخدم كـ قالب (Template) لصنف آخر يرث منها ويكمل تنفيذ هذه الوظائف. ويقوم المبرمج بتعريف الـ Abstract Class باستخدام الكلمة المفتاحية abstract، ويستخدمها لتحديد الوظائف التي يجب أن تكون موجودة داخل الصنف الموروث منه.

تعريف كلاس مجرد بايثون


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


فيما يلي مثال على كيفية إنشاء فصيلة مجردة:

from abc import ABC, abstractmethod
class AbstractClassExample(ABC):
    @abstractmethod
    def do_something(self):
        pass
    @abstractmethod
    def do_another_something(self):
        pass



في هذا المثال، يتم إنشاء فصيلة AbstractClassExample وتعريف اثنين من الأساليب المجردة do_something و do_another_something . يتم استخدام الديكوريتور @abstractmethod لتحديد أن هذه الأساليب مجردة ويجب تنفيذها في الفصائل المشتقة.


تعريف Abstract Method


Abstract Method هي طريقة (Method) في البرمجة الكائنية (Object-Oriented Programming) تعرف في الصف كـ abstract ولا تتضمن تنفيذ محدد للطريقة، بل يُترك تنفيذها للصفوف المشتقة (Subclasses) التي تستخدمها. وتستخدم Abstract Method عادة في الصفوف الأساسية (Base Classes) لتحديد واجبات معينة يجب تنفيذها من قِبَل الصفوف المشتقة، دون أن تحدد تفاصيل كيفية تنفيذ هذه الواجبات. ويتم تعريف Abstract Method بواسطة إضافة الكلمة المفتاحية abstract قبل تعريف الطريقة، ولا يمكن إنشاء كائن (Object) من الصف الذي يحتوي على Abstract Method.

نقاط مهمة حول الدوال المجرّدة 

توجد العديد من النقاط المهمة حول الدوال المجرّدة (Functions) في بايثون، ومن بين هذه النقاط:

  •  تعريف الدالة: يتم تعريف الدالة في بايثون باستخدام الكلمة def ، مثل:


def function_name(parameters):
    statement(s)



  •  العودة Return: تستخدم return لإرجاع نتيجة من داخل الدالة إلى جزء آخر من البرنامج. كما يمكن استخدام return لإنهاء تنفيذ الدالة قبل نهاية الكود المحدد. 


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

  • المتغيرات المحلية: يتم تعريف المتغيرات المحلية داخل الدالة، ولا تكون متاحة خارج الدالة. 

  •  الوثائق Docstrings: يوجد وسيلة لتوثيق الدوال في بايثون باستخدام الـ Docstrings، وهي سلسة من النص الموضوع داخل علامات تعليق متعددة الأسطر قبل تعريف الدالة. 

  • استدعاء الدالة: يتم استدعاء الدالة باستخدام اسم الدالة المحدد في التعريف، كمثال:


function_name(argument)



  • نماذج الدوال Lambda Functions: تُستخدم لإنشاء دوال بدون تحديد اسمها و تكتب بشكل مختصر، مثلا:

lambda arguments: expression




امثله علئ الدوال المجردة بايثون


تستطيع استخدام دوال مجردة في لغة Python، وهي دوال تقبل مدخلات وتقوم بإرجاع قيمة خارجية. وفيما يلي بعض الأمثلة عن الدوال المجردة باستخدام Python:

  • الدالة المجردة التي تقوم بإجراء عملية جمع على اثنين من الأرقام:


def add_numbers(x, y):
    return x + y



  • الدالة المجردة التي تستخدم لإيجاد القيمة المطلقة لرقم:


def absolute_value(num):
    if num >= 0:
        return num
    else:
        return -num



  •   الدالة المجردة التي تستخدم لإيجاد العامل البادئ لرقم:


def get_factorial(num):
    factorial = 1
    for i in range(1, num+1):
        factorial = factorial * i
    return factorial



  • الدالة المجردة التي تستخدم لإيجاد الحد الأدنى أو الأعلى من مجموعة من الأرقام:


def find_min_max(numbers):
    min_num = numbers[0]
    max_num = numbers[0]
    for num in numbers:
        if num < min_num:
            min_num = num
        elif num > max_num:
            max_num = num
    return (min_num, max_num)



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

إرسال تعليق

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.