ما هو التحميل الزائد للمنشئ في بايثون؟ مع الأمثلة

نشرت: 2023-01-29

Python هي لغة برمجة سهلة الاستخدام يمكن للمبتدئين إتقانها بسهولة. تقدم لغة البرمجة هذه مجموعة واسعة من الدعم المجتمعي الذي يساعد المبرمجين في استكشاف عدة طرق لتنفيذ الكود. سمحت المكتبات القياسية في Python والوحدات النمطية التي ساهم بها منتدى المجتمع بإمكانيات لا حصر لها ، بما في ذلك تطوير الويب والإنترنت وواجهة المستخدم الرسومية لسطح المكتب والوصول إلى قاعدة البيانات والتعليم والتطبيقات العلمية والرقمية وبرمجة الشبكات وتطوير البرامج وبرامج تطوير الألعاب. تم تطوير هذه اللغة مفتوحة المصدر بموجب ترخيص معتمد من OSI. وبالتالي ، يمكن استخدامه وتوزيعه مجانًا. تدير Python Software Foundation ترخيص Python.

جدول المحتويات

المنشئون في بايثون:

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

صيغة التصريح عن المنشئ هي

تعريف _init_ (ذاتي):

# جسم المنشئ

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

  • المُنشئ الافتراضي
  • مُنشئ ذو معلمات

المُنشئ الافتراضي:

إنه مُنشئ بسيط ولا يقبل أي معلمات إدخال. يحتوي تعريف المُنشئ الافتراضي على وسيطة واحدة فقط تشير إلى المثيل الذي يتم إنشاؤه.

مُنشئ ذو معلمات:

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

تحقق من دورات upGrad لعلوم البيانات

زيادة تحميل المُنشئ في بايثون:

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

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

لماذا يلزم وجود مُنشئين متعددين في Python؟

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

  1. منشئ التحميل الزائد على أساس الحجج
  2. استدعاء طرق _init_
  3. استخدام مصممclassmethod

استكشف دوراتنا الشهيرة في علوم البيانات

برنامج الدراسات العليا التنفيذية في علوم البيانات من IIITB برنامج الشهادة المهنية في علوم البيانات لاتخاذ قرارات الأعمال ماجستير العلوم في علوم البيانات من جامعة أريزونا
برنامج الشهادة المتقدمة في علوم البيانات من IIITB برنامج الشهادة الاحترافية في علوم البيانات وتحليلات الأعمال من جامعة ماريلاند دورات علوم البيانات

اقرأ مقالاتنا الشهيرة في علوم البيانات

المسار الوظيفي لعلوم البيانات: دليل مهني شامل النمو الوظيفي لعلوم البيانات: مستقبل العمل هنا لماذا علم البيانات مهم؟ 8 طرق تضيف علوم البيانات قيمة إلى الأعمال
أهمية علم البيانات للمديرين ورقة الغش النهائية لعلم البيانات التي يجب أن يمتلكها علماء البيانات أهم 6 أسباب لماذا يجب أن تصبح عالم بيانات
يوم في حياة عالم البيانات: ماذا يفعلون؟ ضبطت الأسطورة: علم البيانات لا يحتاج إلى تشفير ذكاء الأعمال مقابل علوم البيانات: ما هي الاختلافات؟

زيادة تحميل المُنشئ في Python بناءً على الحجج:

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

  • مربع الرقم هو الجواب إذا كان معامل الإدخال هو عدد صحيح.
  • إذا كان طول المعلمة أكبر من 1 ، فسيتم عرض مجموع الوسيطات كإجابة.

طرق الاتصال مع _init_:

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

  • إذا تم تمرير وسيطتين ، فسيتم تقييم التعبير على أنه x = a 2 - b 2
  • إذا تم تمرير ثلاث وسيطات ، فإن التعبير الذي تم تقييمه هو y = a 2 + b 2 - c
  • إذا تجاوز عدد الوسائط التي تم تمريرها ثلاثة ، فقم بإضافة مربعات هذه الأرقام وقسم المجموع على الوسيطة ذات القيمة الأعلى.

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

ترغب في مشاركة هذه المقالة؟

استعد لمهنة المستقبل

تقدم بطلب للحصول على ماجستير العلوم في علوم البيانات