ما هي طريقة التحميل الزائد في بايثون وكيف تعمل؟



تشرح هذه المقالة ما هي طريقة التحميل الزائد في بيثون وكيف تعمل. هناك مثالان مختلفان لشرح الطريقة بعمق.

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

ما هو التحميل الزائد؟

التحميل الزائد هي قدرة دالة أو عامل على التصرف بطرق مختلفة بناءً على المعلمات التي يتم تمريرها إلى ، أو المعاملات التي يعمل عليها المشغل.





قليلا من ال مزايا من استخدام الزائد هي:

  • زيادة التحميل على طريقة تعزز قابلية إعادة الاستخدام. على سبيل المثال ، بدلاً من كتابة طرق متعددة تختلف قليلاً فقط ، يمكننا كتابة طريقة واحدة وتحميلها بشكل زائد.



  • يعمل التحميل الزائد أيضًا على تحسين وضوح الكود ويزيل التعقيد.

التحميل الزائد مفهوم مفيد للغاية. ومع ذلك ، لديها عدد من سلبيات المرتبطة بها.

print_r ()
  • يمكن أن يؤدي التحميل الزائد إلى حدوث ارتباك عند استخدامه عبر الحدود. عند الاستخدام المفرط ، يصبح من الصعب إدارة الوظائف المحملة بشكل زائد.



طريقة التحميل الزائد في بايثون

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

بالنظر إلى طريقة أو وظيفة واحدة ، يمكن تحديد عدد المعلمات بواسطتك. تسمى عملية استدعاء نفس الطريقة بطرق مختلفة التحميل الزائد للطريقة.

أمثلة أسلوب التحميل الزائد

الآن بعد أن تعرفت على طريقة التحميل الزائد في بايثون ، فلنأخذ مثالاً. هنا ، نقوم بإنشاء فصل دراسي بواحد مرحبا() . تم تعيين المعلمة الأولى لهذه الطريقة على بلا. سيعطينا هذا خيار الاتصال به مع أو بدون معلمة.

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

مثال 1:

#! / usr / bin / env python class الشخص: def Hello (self، name = None): إذا لم يكن الاسم بلا: print ('Hello' + name) else: print ('Hello') # إنشاء مثيل obj = شخص () # قم باستدعاء الطريقة obj.Hello () # قم باستدعاء الطريقة باستخدام المعامل obj.Hello ('Edureka')

انتاج:

مرحبا مرحبا Edureka

لتوضيح عملية التحميل الزائد ، يمكننا الآن استدعاء الطريقة Hello () بطريقتين:

obj.Hello () obj.Hello ('Edureka')

في المثال أعلاه ، أنشأنا طريقة يمكن استدعاؤها باستخدام وسيطات أقل مما هو محدد للسماح به. أيضا ، لا يقتصر على اثنين المتغيرات ويمكن أن تحتوي طريقتك على المزيد من المتغيرات الاختيارية.

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

المثال 2:

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

# class class Compute: # area method def area (self، x = None، y = None): إذا كان x! = بلا و y! = بلا: إرجاع x * y elif x! = بلا: إرجاع x * x else: إرجاع 0 # object obj = Compute () # صفر وسيطة print ('قيمة المنطقة:'، obj.area ()) # وسيطة واحدة print ('Area Value:'، obj.area (4)) # two الوسيطة print ('Area القيمة: '، obj.area (3، 5))

سوف يعطينا الكود أعلاه ما يلي انتاج:

قيمة المنطقة: 0 قيمة المنطقة: 16 قيمة المنطقة: 15

بهذا نكون قد وصلنا إلى نهاية مقالتنا. آمل أن تكون قد فهمت ما هي طريقة التحميل الزائد في بيثون وكيف تعمل.

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

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في مدونة 'Method Overloading in Python' وسنعاود الاتصال بك في أقرب وقت ممكن.