Python البرمجة الكائنية: الفئة، الكائن، الوراثة، والدالة البانية

⚡ ملخص ذكي

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

  • 🔘 مخطط الفصل الدراسي: تقوم الفئة بتجميع البيانات والأساليب ذات الصلة في مخطط قابل لإعادة الاستخدام لإنشاء الكائنات.
  • ☑️ شاء: الكائنات هي نسخ من فئة، كل منها يخزن قيم سماته الخاصة.
  • تعريف الفئات: تُعرّف الكلمة المفتاحية class والأساليب ذات المسافة البادئة ومعامل self ما يلي: Python فئة.
  • 🧬 ميراث: ترث الفئة المشتقة السمات والأساليب من الفئة الأساسية وتدعم الوراثة المتعددة.
  • 🛠️ منشئو: تقوم الدالة __init__() بتهيئة كل كائن جديد بقيم محددة مسبقًا.
  • 🤖 أهمية الذكاء الاصطناعي: مكتبات التعلم الآلي مثل بايثونTorطبقات ونماذج الشبكات ch Python الطبقات.

Python البرمجة الكائنية: الفئة، الكائن، الوراثة، والدالة البانية

عفوا في Python

عفوا في Python هو أسلوب برمجة يركز على استخدام الكائنات والفئات مثل لغات البرمجة العامة الأخرى. يمكن أن تكون الكائنات أي كيانات في العالم الحقيقي. Python يسمح للمطورين بتطوير التطبيقات باستخدام نهج OOPs مع التركيز بشكل رئيسي على إمكانية إعادة استخدام التعليمات البرمجية. من السهل جدًا إنشاء فئات وكائنات فيها Python.

ما هي الدرجة؟

فئة في Python هي مجموعة منطقيةping من البيانات والوظائف. يمنح ذلك حرية إنشاء هياكل بيانات تحتوي على محتوى عشوائي وبالتالي يسهل الوصول إليها.

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

كيف تحدد Python فصول

لتحديد الفئة، عليك مراعاة النقاط التالية

الخطوة 1) In Python، يتم تعريف الفئات بواسطة "فصل" الكلمة

class myClass():

الخطوة 2) داخل الفئات، يمكنك تحديد الوظائف أو الأساليب التي تشكل جزءًا من هذه الفئة

def method1 (self):
   print "Guru99"
def method2 (self,someString): 
   print "Software Testing:" + someString
  • هنا قمنا بتعريف الطريقة الأولى التي تطبع "Guru99 ".
  • هناك طريقة أخرى حددناها وهي الطريقة 2 التي تطبع "اختبار البرامج" + SomeString. SomeString هو المتغير الذي توفره طريقة الاستدعاء

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

حدد Python فصول

نوت: حول استخدام "الذات" في Python

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

الخطوة 4) لجعل كائن من الفئة

c = myClass()

الخطوة 5) لاستدعاء أسلوب في الفصل الدراسي

c.method1()
    c.method2(" Testing is fun")
  • لاحظ أنه عند استدعاء الدالة method1 أو method2، لا نحتاج إلى تحديد الكلمة المفتاحية self. يتم التعامل مع ذلك تلقائيًا بواسطة Python مدة العرض.
  • Python سوف يمرر وقت التشغيل القيمة "الذاتية" عند استدعاء أسلوب المثيل في المثيل، سواء قمت بتوفيره عن عمد أم لا
  • عليك فقط أن تهتم بالحجج غير الذاتية

الخطوة 6) ها هو الكود الكامل

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  def method2(self,someString):    
      print("Software Testing:" + someString)
  
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()

كيف يعمل الميراث

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

كيف يعمل نظام الميراث في Python

Python بناء جملة الميراث

class DerivedClass(BaseClass):
    body_of_derived_class

الخطوة 1) قم بتشغيل الكود التالي

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print ("childClass Method1")
        
  def method2(self):
        print("childClass method2")     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

لاحظ أن الدالة method1 في الفئة الفرعية غير مُعرَّفة، ولكنها مُشتقة من الفئة الأصلية myClass. والناتج هو "Guru99 ".

الخطوة 2) قم بإلغاء التعليق على السطر رقم 8 و10. قم بتشغيل الكود

الآن، تم تعريف الطريقة 1 في ChildClass ويتم عرض الإخراج "childClass Method1" بشكل صحيح.

الخطوة 3) قم بإلغاء التعليق على السطر رقم 9. قم بتشغيل الكود

يمكنك استدعاء أسلوب الفئة الأصل باستخدام بناء الجملة

ParentClassName.MethodName(self)

في حالتنا، نستدعي الدالة myClass.method1(self) و Guruتمت طباعة الرقم 99 كما هو متوقع

الخطوة 4:) قم بإلغاء التعليق على السطر رقم 19. قم بتشغيل الكود.

يتم استدعاء الطريقة الثانية للفئة الفرعية وتتم طباعة "childClass Method2" كما هو متوقع.

Python الصانعين

المنشئ عبارة عن دالة فئة تقوم بإنشاء كائن إلى قيم محددة مسبقًا.

يبدأ بشرطتين سفليتين (_). وهو عبارة عن دالة __init__()

في المثال أدناه نحن نأخذ اسم المستخدم باستخدام المنشئ.

class User:
    name = ""

    def __init__(self, name):
        self.name = name

    def sayHello(self):
        print("Welcome to Guru99, " + self.name)

User1 = User("Alex")
User1.sayHello()

سيكون الإخراج:

مرحبًا بكم في Guru99، أليكس

Python 2 مثال

الرموز المذكورة أعلاه هي Python 3 أمثلة، إذا كنت تريد الركض Python 2 يرجى مراعاة الكود التالي.

# How to define Python classes
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
  def method2(self,someString):    
      print "Software Testing:" + someString
      
   
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()


#How Inheritance works
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
      
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print "childClass Method1" 
        
  def method2(self):
        print "childClass method2"     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

تعرف على برنامجنا التعليمي التالي حول تعدد الأشكال في Python

الأسئلة الشائعة

الفئة هي مخطط يحدد السمات والأساليب، بينما الكائن هو نسخة ملموسة مبنية من تلك الفئة. يمكن لفئة واحدة إنشاء العديد من الكائنات، كل منها يحتفظ بـping بياناتها الخاصة.

Python تعتمد البرمجة الكائنية التوجه على أربعة أركان: التغليف (تجميع البيانات مع الأساليب)، والقيمة المطلقة.traction (إخفاء التعقيد)، والوراثة (إعادة استخدام فئة أساسية)، وتعدد الأشكال (واجهة واحدة، أشكال متعددة).

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

تُعيد الدالة super() وسيطًا إلى الفئة الأصلية، مما يسمح للفئة الفرعية باستدعاء توابع الفئة الأصلية أو مُنشئها دون الحاجة إلى تسميتها مباشرةً. غالبًا ما تُكتب على النحو التالي: super().__init__() لتهيئة السمات الموروثة.

يُقيّد التغليف الوصول المباشر إلى البيانات الداخلية للكائن. Python، قم بإضافة بادئة للخاصية باستخدام شرطة سفلية واحدة (_name) كخاصية محمية، أو شرطتين سفليتين (__name) لتشويه الاسم.

نعم. أ Python يمكن للفئة أن ترث من عدة آباء، مثل الفئة Child(A, B). Python يقوم بحل أسماء الطرق المكررة باستخدام ترتيب حل الطرق (MRO)، والذي يتم فحصه باستخدام طريقة mro().

تُعد البرمجة كائنية التوجه أساسية في أطر الذكاء الاصطناعي والتعلم الآلي. مكتبات مثل بايثون (Py)Torتقوم مكتبة ch و scikit-learn بنمذجة الشبكات والطبقات والمقدرات كفئات، لذا يمكنك إنشاء فئات فرعية وإعادة استخدامها لبناء النماذج.

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

تلخيص هذه التدوينة بـ: