فئات وأشياء بايثون. الجزء 9 من دورة بايثون من المبتدئين إلى المتقدمين في 11 منشورًا في المدونة
نشرت: 2022-01-25ستساعد هذه المقالة القارئ على فهم فئات بايثون الأساسية جنبًا إلى جنب مع بعض التطبيقات الأساسية في العالم الحقيقي. سنستخدم Visual Studio Code كمحرر الكود الخاص بنا. إذا لم تكن قد قمت بتثبيت Visual Studio Code ، فسيتم تقديم الإرشادات في المدونة الأولى.
فئات وكائنات بايثون - جدول المحتويات:
- دروس بايثون
- فئات بايثون - التعريف
- تهيئة أصناف بايثون
- دعنا نكتب أول فصل دراسي في بايثون
- صفات
- سلوك الفصل
- كائنات في بايثون
- ميراث
دروس بايثون
كما ناقشنا في المدونة الأولى ، فإن Python هي لغة برمجة موجهة للكائنات. هناك ثلاث جمل مهمة جدًا أثناء مناقشة البرمجة الشيئية في بايثون. الأول هو فئة ، والثاني هو كائن ، والثالث سيكون الميراث. لنبدأ بما هو الفصل.
فئات بايثون - التعريف
الفئة عبارة عن مخطط أو برنامج قابل للتوسيع يساعد في إنشاء الكائنات. الطبقة تتكون من السلوك والحالة. يتم إظهار سلوك الفصل من خلال الوظائف داخل الفصل والتي تسمى الطرق. يتم توضيح حالة الفصل باستخدام المتغيرات داخل الفصل والتي تسمى السمات.
تهيئة أصناف بايثون
يمكن تهيئة فئة باستخدام الصيغة التالية.
يتم تعريف فئة في لغة python باستخدام الكلمة الأساسية "class" بعد اسم الفئة. الصيغة الأساسية لوظيفة Python موضحة أدناه.
فمثلا:
<img src="https://firmbee.com/wp-content/uploads/Python_9-800x600.png" alt="Python_classes" width="800" height="600" class="alignnone size-medium wp-image-21409 img-fluid" /> # Create a function # class Monkey class classname:
ملاحظة: اسم الصنف له نفس معايير التصريح عن المتغير.
دعنا نكتب أول فصل دراسي في بايثون
# first class class Animals: pass
في قالب الشفرة أعلاه ، كتبنا فصلًا سنعمل على تطويره بشكل أكبر في المدونة. كما ترى ، لقد استخدمنا الكلمة الأساسية "class".
لنرى الآن كيف نضيف مكونات إلى فئة الحيوان. ولكن قبل ذلك ، دعنا نتعرف على مُنشئ "__init __ ()". يتم استخدام المنشئات لإنشاء مثيل للكائن. هنا يتم استخدام __init __ () لإنشاء مثيل للكائن. يمكن أن يكون المُنشئ افتراضيًا مع self فقط كوسيطة أو معلمات مع الوسائط المطلوبة.
صفات
هناك نوعان مختلفان من السمات ، الأول هو متغيرات الفئة والثاني متغيرات الحالة. متغيرات الفئة هي المتغيرات التي يمتلكها الفصل. أيضًا ، هذه المتغيرات متاحة لجميع مثيلات الفئة. ومن ثم ، لن تتغير قيمتها حتى إذا تغير المثيل.
# class variables class Animals: type=”mammals”
متغيرات الحالة هي المتغيرات التي تنتمي إلى الحالات نفسها. ومن ثم ، فإنها ستغير قيمتها مع تغير المثيل.
# class variables class Animals: def __init__(self,legs): self.legs=legs
ملاحظة: متغيرات المثيل غير متاحة للوصول باستخدام اسم الفئة ، لأنها تتغير بناءً على الكائن الذي يصل إليها.
دعنا نصنع برنامجًا يحتوي على متغيرات الفئة والمثيل المُعلنة.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs
في البرنامج أعلاه ، استخدمنا كلاً من متغيرات المثيل والفئة. لذا ، فإن هذه المتغيرات تشكل سمات للفصل.
سلوك الفصل
كما تمت مناقشته ، يتم تحديد سلوك الفصل من خلال الطرق داخل الفصل. ولكن قبل الخوض في المناقشة حول السلوك ، علينا أن نبدأ مناقشة معلمة "الذات" ، التي استخدمناها في __init __ ().
الذات:
في مصطلح بسيط للغاية ، كلما ربطنا أي شيء بالذات ، نقول إن المتغير أو الوظيفة تنتمي إلى تلك الفئة. أيضًا ، مع "الذات" ، يمكن الوصول إلى سمات أو أساليب الفصل.
طُرق:
عمليات الصنف هي وظائف داخل الصنف والتي سيكون لها وسيطتها الأولى كـ "self". يتم تحديد طريقة داخل الفئة باستخدام الكلمة الأساسية "def".
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”)
في الطريقة أعلاه "bark" ، نظرًا لأننا نستخدم متغير الاسم ، وهو متغير حالة ، فإننا ندخل إليه باستخدام "self" وستقوم هذه الوظيفة بطباعة "woof woof !!!" ، فقط إذا تم توفير الاسم إلى الشيء هو الكلب.
لقد ناقشنا معظم مكونات الفصل ، لكن ربما تفكر في كيفية معرفة ما إذا كان الفصل يعمل أم لا. الجواب على هذا هو ما لم ننشئ كائنًا للفصل ، فلن نتمكن من رؤية ما يفعله الفصل. الآن ، دعنا نحدد وننشئ كائنًا من الفصل.
كائنات في بايثون
الكائن هو مثيل للفئة. الفئة هي مجرد مخطط ، لكن الكائن هو مثيل للفئة التي لها قيم فعلية.
رمز تعريف أو إنشاء كائن موضح أدناه.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4)
لإنشاء كائن ، يكون بناء الجملة هو اسم الكائن = اسم الفئة (الوسائط). ومن ثم ، فإننا هنا نعطي اسم الحيوان ليكون كلبًا وعدد الأرجل ليكون 4. الآن ، تم إنشاء كائن الفصل ، والخطوة التالية هي استخدام الكائن للوصول إلى سماته. للوصول إلى سمات فئة باستخدام الكائن ، تذكر فقط متغيرات الحالة التي يمكن الوصول إليها باستخدام الكائن. متغيرات الحالة في صفنا هي الاسم والساقين.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs)
كما نرى ، نحن قادرون على الوصول إلى متغيرات الحالة باستخدام تدوين النقطة.
دعنا نستكشف الإخراج.
#Output dog 4
للوصول إلى الوظائف داخل الفئة أو الطرق ، سنستخدم رمز النقطة. المثال موضح أدناه.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) dog=Animals(“dog”,4) print(dog.name) print(dog.legs) print(dog.bark())
#Output dog 4 woof woof!!!
في المثال أعلاه ، يمكننا أن نرى أننا نصل إلى طريقة الصنف "bark" باستخدام كائن الكلب الذي أنشأناه. يمكننا أن نرى أننا لا نستخدم المعامل "self" في وسيطات الدالة. هذا لأننا لا نطلب استخدام "الذات" خارج الفصل لأن الكائن نفسه يتصرف على أنه الذات.
ميراث
الوراثة هي عملية يمكن من خلالها تمرير سمات الصف وطرقه إلى فئة فرعية. الفصل من حيث يرث الفصل الفرعي هو الفصل الأصلي. صيغة الميراث موضحة أدناه.
#Inheritance class parent: class child(parent):
من الرسم التوضيحي أعلاه ، يمكننا أن نرى أنه بالنسبة لصيغة الوراثة ، فإننا نضع اسم الفئة الأصل كوسيطة للفئة الفرعية. دعونا نستخدم فئة الحيوانات وننشئ فصلًا للأطفال يسمى الكلب. هذا موضح أدناه.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed
في المثال أعلاه ، قمنا بإنشاء فئة كلاب تعمل على توسيع فئة الحيوانات التي أنشأناها من قبل. نحن أيضًا نستخدم المعلمات من الحيوانات باستخدام الحيوانات .__ init __ (الوسيطات) التي لها أسماء وأرجل سيتم توريثها إلى فئة الكلاب. ثم نقوم بعمل سمة مثيل لفئة الكلاب التي هي سلالة.
الآن دعونا نصنع شيئًا لفئة الكلاب ونصل إلى سمات وطرق فئة الحيوانات.
class Animals: type=”mammals” def __init__(self,name,legs): self.name=name self.legs=legs def bark(self): if self.name==”dog”: print(“woof woof!!!”) else: print(“not a dog”) class Dog(Animals): def __init__(self,name,legs,breed): Animals.__init__(self,name,legs) self.breed=breed pug=Dog("dog",4,"pug") pug.breed pug.name pug.legs pug.bark()
#Output pug dog 4 woof woof!!!
كما نرى من المخرجات ، يتم الوصول إلى سمات وطرق الفئة الأصل بواسطة كائن الفئة الفرعية.
في هذه المدونة ، قمنا بتغطية بعض أساسيات الفصول في بايثون. في منشور المدونة التالي ، سنغطي موضوع معالجة الملفات.
قد ترغب أيضًا في دورة JavaScript الخاصة بنا من المبتدئين إلى المتقدمين.
دورة بايثون من المبتدئين إلى المتقدمين في 11 مشاركة مدونة:
- مقدمة إلى دورة بايثون. الجزء الأول من دورة بايثون من المبتدئين إلى المتقدمين في 11 منشورًا في المدونة
- المتغيرات وأنواع البيانات في بايثون. الجزء الثاني من دورة بايثون من المبتدئين إلى المتقدمين في 11 منشورًا في المدونة
- مجموعات Python والقوائم والمجموعات والقواميس. الجزء 3 من دورة بايثون من المبتدئين إلى المتقدمين في 11 منشورًا في المدونة
- مجموعات وقواميس بايثون. الجزء 4 دورة بايثون من المبتدئين إلى المتقدمين في 11 مشاركة مدونة
- الجمل الشرطية في بايثون. الجزء الخامس من دورة بايثون من المبتدئين إلى المتقدمين في 11 منشورًا في المدونة
- حلقات في بايثون. الجزء 6 دورة بايثون من المبتدئين إلى المتقدمين في 11 منشورًا في المدونة
- وظائف بايثون. الجزء السابع من دورة بايثون من المبتدئين إلى المتقدمين في 11 منشورًا في المدونة
- وظائف متقدمة في بايثون. الجزء الثامن من دورة بايثون من المبتدئين إلى المتقدمين في 11 منشورًا في المدونة
- فئات وأشياء بايثون. الجزء 9 من دورة بايثون من المبتدئين إلى المتقدمين في 11 منشورًا في المدونة
- ملفات في بايثون. الجزء 10 من دورة بايثون من المبتدئين إلى المتقدمين في 11 منشورًا في المدونة
- تطبيقات بايثون في الممارسة. الجزء 11 دورة بايثون من المبتدئين إلى المتقدمين في 11 مشاركة مدونة