مُنشئو بايثون: كل ما تحتاج إلى معرفته



ستقدم لك هذه المقالة موضوعًا مثيرًا للاهتمام وهو بسيط ولكنه أساسي للبرمجة ، وأنا أشير إلى منشئي Python.

ستقدم لك هذه المقالة موضوعًا مثيرًا للاهتمام ، وهو بسيط ولكنه أساسي في البرمجة ، أشير إليه الصانعين. سيتم تغطية المؤشرات التالية في هذه المقالة ،

فلنبدأ إذن ،





منشئي بايثون

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

الانتقال إلى هذه المقالة عن Python Constructors ،



ما هو المنشئ في بايثون؟

يمكن ببساطة تعريف المُنشئ على أنه نوع خاص من الطريقة أو الوظيفة التي يمكن استخدامها لتهيئة مثيلات أعضاء مختلفين في الفصل.

في بايثون ، هناك نوعان مختلفان من المُنشئين.

  • المُنشئ غير المحدد المعلمات: تُعرف المنشئات في Python التي لا تحتوي على معلمات كمُنشئ غير معلمات.
  • المُنشئ ذو المعلمات: يُعرف المُنشئ الذي يحتوي على معلمات محددة مسبقًا باسم المُنشئ ذي المعلمات.

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



الانتقال إلى هذه المقالة عن Python Constructors ،

إنشاء مُنشئ في Python

الآن بعد أن تعرفت على تعريف وأنواع المنشئات في Python ، دعنا نستكشف كيف يمكننا إنشاء مُنشئ في Python.

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

ملحوظة:

ما هو actionListener في جافا

كل فئة تقوم بإنشائها في Python تحتاج إلى وجود مُنشئ حتى تعمل ، حتى لو كانت المُنشئ الافتراضي.

لفهم هذا المفهوم بشكل أفضل ، ألق نظرة على المثال أدناه.

موظف فئة: def __init __ (self ، name ، id): self.id = id self.name = name def display (self): print ('ID:٪ d nName:٪ s'٪ (self.id، self.name) )) emp1 = الموظف ('John'، 101) emp2 = الموظف ('David'، 102) #accessing display () طريقة طباعة معلومات الموظف 1 emp1.display () #accessing display () لطباعة معلومات الموظف 2 emp2 .عرض()

عند تشغيل البرنامج أعلاه ، سيبدو الإخراج مثل هذا.

المعرف: 101

الاسم: جون

المعرف: 102

الاسم: ديفيد

الانتقال إلى هذه المقالة عن Python Constructors ،

الفرق بين المُنشئ ذي المعلمات والمنشئ غير المعامل

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

class Student: #Constructor - معرف بدون معلمات __init __ (ذاتي): طباعة ('This is non parametrized constructor') def show (self، name): print ('Hello'، name) student = Student () student.show (' يوحنا')

ما ورد أعلاه هو مثال على المُنشئ غير ذي المعاملات وسيكون ناتجه كما يلي.

هذا غير مُنشئ مُحدّد

java تحويل ثنائي إلى عشري

أهلا جون

class Student: #Constructor - معرف معلمات __init __ (self، name): print ('This is parametrized constructor') self.name = name def show (self): print ('Hello'، self.name) student = Student (' John ') student.show ()

ما ورد أعلاه هو مثال على المُنشئ ذي المعلمات وسيكون ناتجه كما يلي.

هذا مُنشئ مُحدّد

أهلا جون

الانتقال إلى هذه المقالة عن Python Constructors ،

في وظائف الطبقة المضمنة في بايثون

الآن بعد أن أصبحت أساسيات المُنشئ في Python واضحة ، دعنا نستكشف مختلف الفئات المضمنة والموجودة في Python.

كيفية ايقاف برنامج في جافا
  1. getattr (obj ، الاسم ، افتراضي): تُستخدم هذه الوظيفة المضمنة في Python للوصول إلى سمات فئة.
  2. delattr (obj، name): إذا كنت بحاجة إلى حذف سمة معينة في فصل دراسي ، فاستخدم هذه الوظيفة المضمنة.
  3. setattr (obj، name، value): في حالة معينة ، إذا قررت تعيين قيمة معينة لسمة معينة ، فاستفد من هذه الوظيفة التي تأتي في ثناياه عوامل في Python.
  4. hasattr (obj، name): أخيرًا وليس آخرًا ، إذا كنت تريد معرفة ما إذا كان كائن معين يحتوي على سمة ، فاستخدم هذه الوظيفة. عند التنفيذ ، سيعود هذا صحيحًا إذا كانت السمة موجودة في دالة.

لفهم مفهوم وظائف الصنف المدمجة في Python ، ألق نظرة على الكود أدناه.

class Student: def __init __ (الذات ، الاسم ، المعرف ، العمر): self.name = name self.id = id self.age = age #creates the object of the class Student s = Student ('John'، 101،22) #prints the attribute name of the object s print (getattr (s، 'name')) # إعادة تعيين قيمة عمر السمة إلى 23 setattr (s، 'age'، 23) # طباعة القيمة المعدلة لطباعة العمر (getattr ( s، 'age')) # يطبع صحيحًا إذا احتوى الطالب على السمة مع معرف الاسم print (hasattr (s، 'id')) # يحذف سمة age delattr (s، 'age') # هذا سيعطي خطأ منذ ذلك الحين تم حذف عمر السمة print (s.age)

سيكون الإخراج لما سبق.

يوحنا

2. 3

صحيح

AttributeError: كائن 'الطالب' ليس له سمة 'العمر'

الانتقال إلى هذه المقالة عن Python Constructors ،

سمات فئة يحمل في ثناياه عوامل

إلى جانب وظائف الفئة المضمنة ، تأتي Python مع سمات فئة داخلية ، والتي تكون مفيدة في بعض الأحيان. فيما يلي بعض أهم سمات الفئة المضمنة.

  1. __dict__: باستخدام هذا يمكنك عرض القاموس الذي يحتوي على معلومات تتعلق بمساحة اسم الفئة.
  2. __name__: استخدم هذه السمة ، إذا كنت تريد عرض اسم الفصل الحالي.
  3. __doc__: تحتوي هذه السمة على سلسلة تحتوي على توثيق للفئة الحالية.
  4. __module__: إذا كنت بحاجة إلى الوصول إلى الوحدة النمطية التي يتم فيها تعريف الفئة ، فاستخدم هذه السمة المضمنة.
  5. __bases__: إذا كنت تريد عرض المجموعة التي تتضمن جميع الفئات الأساسية ، فاستخدم هذه الوظيفة.

مثال لتوضيح جميع سمات الفئة المضمنة كما هو موضح أدناه.

class Student: def __init __ (self، name، id، age): self.name = name self.id = id self.age = age def display_details (self): print ('Name:٪ s، ID:٪ d، age) :٪ d '٪ (self.name، self.id)) s = Student (' John '، 101،22) print (s .__ doc__) print (s .__ict__) print (s .__ module__)

هذا يقودنا إلى نهاية هذه المقالة عن Python Constructors.

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

لديك سؤال لنا؟ أذكرها في قسم التعليقات في 'دروس بايثون' وسنعاود الاتصال بك.