دروس بايثون

بايثون هوم مقدمة بايثون ابدأ بايثون بناء جملة بايثون تعليقات بايثون متغيرات بايثون أنواع بيانات بايثون أرقام بايثون صب بايثون سلاسل بايثون بايثون منطقية مشغلي بايثون قوائم بايثون Python Tuples مجموعات بايثون قواميس بايثون بيثون إذا ... آخر بايثون أثناء التكرار بايثون للحلقات وظائف بايثون بيثون لامدا صفائف بايثون فئات / كائنات بايثون وراثة بايثون تكرارات بايثون نطاق بايثون وحدات بايثون تواريخ بايثون الرياضيات بايثون Python JSON لغة Python RegEx Python PIP بايثون جرب ... ماعدا مدخلات مستخدم بايثون تنسيق سلسلة Python

التعامل مع الملف

التعامل مع ملف بايثون ملفات قراءة بايثون Python كتابة / إنشاء ملفات بايثون حذف الملفات

وحدات بايثون

برنامج NumPy التعليمي تجول الباندا البرنامج التعليمي Scipy

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

مقدمة ماتبلوتليب ابدأ Matplotlib Matplotlib Pyplot ماتبلوتليب بالتآمر علامات Matplotlib خط ماتبلوتليب تسميات Matplotlib شبكة Matplotlib المؤامرات الفرعية Matplotlib مبعثر Matplotlib قضبان ماتبلوتليب الرسوم البيانية Matplotlib المخططات الدائرية Matplotlib

التعلم الالي

ابدء يعني وضع متوسط الانحراف المعياري النسبة المئوية توزيع البيانات توزيع البيانات العادي مؤامرة مبعثر الانحدارالخطي الانحدار متعدد الحدود الانحدار المتعدد حجم تدريب / اختبار شجرة القرار

Python MySQL

ابدأ MySQL MySQL إنشاء قاعدة بيانات إنشاء جدول MySQL إدراج MySQL حدد MySQL MySQL أين ترتيب MySQL حسب حذف MySQL جدول إسقاط MySQL تحديث MySQL حد MySQL انضم إلى MySQL

Python MongoDB

ابدأ MongoDB MongoDB إنشاء قاعدة بيانات MongoDB إنشاء مجموعة إدراج MongoDB البحث عن MongoDB استعلام MongoDB نوع MongoDB MongoDB يحذف مجموعة MongoDB Drop تحديث MongoDB حد MongoDB

مرجع بايثون

نظرة عامة على بايثون وظائف بايثون المضمنة طرق سلسلة بايثون طرق قائمة بايثون طرق قاموس بايثون طرق Python Tuple طرق تعيين بايثون طرق ملف بايثون كلمات بايثون استثناءات بايثون مسرد بايثون

مرجع الوحدة

وحدة عشوائية وحدة الطلبات وحدة الإحصاء وحدة الرياضيات وحدة cMath

كيف بايثون

إزالة قائمة التكرارات عكس سلسلة أضف عددين

أمثلة بايثون

أمثلة بايثون مترجم بايثون تمارين بايثون مسابقة بايثون شهادة بايثون

وراثة بايثون


وراثة بايثون

يتيح لنا الوراثة تحديد فئة ترث جميع الوظائف والخصائص من فئة أخرى.

فئة الأصل هي الفئة الموروثة منها ، وتسمى أيضًا الفئة الأساسية.

الفئة الفرعية هي الفئة التي ترث من فئة أخرى ، وتسمى أيضًا الفئة المشتقة.


قم بإنشاء فصل للوالدين

يمكن لأي فصل أن يكون فصلًا أصليًا ، وبالتالي فإن بناء الجملة هو نفسه إنشاء أي فئة أخرى:

مثال

أنشئ فئة باسم Person، مع firstnameوخصائص lastname، printnameوطريقة:

class Person:
  def __init__(self, fname, lname):
    self.firstname = fname
    self.lastname = lname

  def printname(self):
    print(self.firstname, self.lastname)

#Use the Person class to create an object, and then execute the printname method:

x = Person("John", "Doe")
x.printname()

قم بإنشاء فصل دراسي تابع

لإنشاء فئة ترث الوظيفة من فئة أخرى ، أرسل الفئة الأصل كمعامل عند إنشاء الفئة الفرعية:

مثال

قم بإنشاء فئة باسم Student، والتي سترث الخصائص والطرق من Personالفئة:

class Student(Person):
  pass

ملاحظة: استخدم pass الكلمة الأساسية عندما لا تريد إضافة أي خصائص أو طرق أخرى إلى الفصل الدراسي.

الآن فئة الطالب لها نفس الخصائص والأساليب مثل فئة الشخص.

مثال

استخدم Studentالفئة لإنشاء كائن ، ثم نفّذ printnameالطريقة:

x = Student("Mike", "Olsen")
x.printname()


أضف دالة __init __ ()

لقد أنشأنا حتى الآن فئة فرعية ترث الخصائص والطرق من أصلها.

نريد إضافة __init__()الوظيفة إلى فئة الأطفال (بدلاً من passالكلمة الأساسية).

ملاحظة: يتم __init__()استدعاء الوظيفة تلقائيًا في كل مرة يتم فيها استخدام الفئة لإنشاء كائن جديد.

مثال

أضف __init__()الوظيفة إلى Studentالفصل الدراسي:

class Student(Person):
  def __init__(self, fname, lname):
    #add properties etc.

عند إضافة __init__()الوظيفة ، لن ترث الفئة الفرعية __init__()وظيفة الأصل.

ملاحظة: تتجاوز__init__() وظيفة الطفل وراثة وظيفة الوالد. __init__()

للحفاظ على وراثة __init__() وظيفة الوالد ، أضف استدعاءًا لوظيفة الوالد __init__():

مثال

class Student(Person):
  def __init__(self, fname, lname):
    Person.__init__(self, fname, lname)

لقد نجحنا الآن في إضافة وظيفة __init __ () ، واحتفظنا بميراث الفئة الأصلية ، ونحن مستعدون لإضافة وظائف في __init__()الوظيفة.


استخدم الوظيفة الفائقة ()

لدى Python أيضًا super()وظيفة تجعل الفئة الفرعية ترث جميع الوظائف والخصائص من أصلها:

مثال

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)

باستخدام super()الوظيفة ، لا يتعين عليك استخدام اسم العنصر الأصل ، حيث سيرث تلقائيًا الأساليب والخصائص من العنصر الأصل.


أضف خصائص

مثال

أضف خاصية تسمى graduationyearالفئة Student:

class Student(Person):
  def __init__(self, fname, lname):
    super().__init__(fname, lname)
    self.graduationyear = 2019

في المثال أدناه ، 2019يجب أن يكون العام متغيرًا ، ويتم تمريره إلى Studentالفصل عند إنشاء عناصر الطالب. للقيام بذلك ، أضف معلمة أخرى في وظيفة __init __ ():

مثال

أضف yearمعلمة ، واجتاز السنة الصحيحة عند إنشاء الكائنات:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

x = Student("Mike", "Olsen", 2019)

طرق إضافة

مثال

أضف طريقة تسمى welcomeللفصل Student:

class Student(Person):
  def __init__(self, fname, lname, year):
    super().__init__(fname, lname)
    self.graduationyear = year

  def welcome(self):
    print("Welcome", self.firstname, self.lastname, "to the class of", self.graduationyear)

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


اختبر نفسك مع التمارين

ممارسه الرياضه:

ما هي الصيغة الصحيحة لإنشاء فصل دراسي يسمى الطالب يرث الخصائص والطرق من فئة تسمى الشخص؟

class :