Inleiding tot overbelasting van Python

Overbelasting is het proces waarbij dezelfde naam voor meer dan één entiteit (methoden, operators, enz.) Wordt gebruikt, maar deze verschillen door hun kenmerken. Het verschil in attributen kan te wijten zijn aan een verschil in het aantal attributen of het verschil in het type attributen. Met andere woorden vanuit het perspectief van de entiteit (methoden, operatoren, enz.) Kan het worden opgesteld of uitgelegd als het vermogen van een entiteit om zich anders te gedragen volgens de aan hem toegevoerde parameters. In python kan, net als de meeste andere programmeertalen op hoog niveau, de python-overbelasting op twee manieren of instanties worden bereikt, ze worden hieronder vermeld,

  • Overbelasting van functies of methoden (Function Overloading).
  • Overbelasting van operators (operatoroverbelasting).

Functie Overbelasting in Python

Overbelasting van de methode is geen toegepast concept in python, maar kan worden bereikt via verschillende technieken. Allereerst kan het concept van methode-overbelasting in twee verschillende concepten worden ingedeeld,

  • Door gebruiker gedefinieerde functies overbelasten.
  • Standaardfuncties overbelasten.

1. Door gebruiker gedefinieerde functies overbelast

Door de gebruiker gedefinieerde functieoverbelasting kan worden bereikt in python door een parameter of argumentwaarde als geen in te stellen. Dus als een argument als geen is ingesteld, reageert de functie op één manier wanneer een waarde niet wordt doorgegeven voor dit argument en op een andere manier wanneer een waarde niet wordt doorgegeven voor hetzelfde argument.

Voorbeeld:

#!/usr/bin/env python
class Overloading_test:
def overloading_function(self, argument1 = 0, argument2 = 0 ):
if argument1 is not None or argument2 is not None:
print('Method Overloading parameter count :', (int( argument1) + int(argument2)))
else:
print( ' Method Overloading without parameters ' )
# Create instance
object1 = Overloading_test()
# Call the method with no arguments
object1.overloading_function()
# Call the method with 1 argument
object1.overloading_function(1)
# Call the method with 2 argument
object1.overloading_function(1, 1)

Output:

2. Overbelasting van standaard- of vooraf gedefinieerde functies

De ingebouwde functies voor overbelasting omvatten het definiëren van de vooraf gedefinieerde functie die naar verwachting in de python-klasse als een speciale functie zal worden overbelast. Dus als de vooraf gedefinieerde functie wordt gedeclareerd als een speciale functie in de python-klasse, gebruikt de interpreter deze speciale functie als declaratie voor de vooraf gedefinieerde aanroep. In het onderstaande voorbeeld wordt dit proces nauwkeurig uitgelegd.

Voorbeeld:

laten we de functie len () beschouwen die wordt gebruikt voor het bepalen van de lengte van een item voor dit voorbeeld, het onderstaande voorbeeld toont het standaardgebruik van de lengtefunctie zonder overbelasting te impliceren en geeft de bijbehorende impact.

# Using len() function without method overloading
Lower_Case = ( ' a ', ' b ', ' c ', ' d ', ' e ', ' f ', ' g ', ' h ', ' i ', ' j ', ' k ', ' l ', ' m ', ' n ', ' o ', ' p ', ' q ', ' r ', ' s ', ' t ', ' u ', ' v ', ' w ', ' x ', ' y ', ' z ' ) Upper_Case = ( ' A ', ' B ', ' C ', ' D ', ' E ', ' F ', ' G ', ' H ', ' I ', ' J ', ' K ', ' L ', ' M ', ' N ', ' O ', ' P ', ' Q ', ' R ', ' S ', ' T ', ' U ', ' V ', ' W ', ' X ', ' Y ', ' Z ' ) print(' Collection used for List1 : ', type(Lower_Case))
print(' Collection used for list2 : ', type(Upper_Case))
print(' Total count of Alphabets in list1 : ', len(Lower_Case))
print(' Total count of Alphabets in list2 : ', len(Upper_Case))

Output:

Laten we nu methode-overbelasting gebruiken voor de functie len () in hetzelfde codefragment

class overloading:
def __init__(self, argument1, argument2):
self.argument1 = argument1
self.argument2 = argument2
def __len__(self):
return argument1+argument2
Lower_Case = ( ' a ', ' b ', ' c ', ' d ', ' e ', ' f ', ' g ', ' h ', ' i ', ' j ', ' k ', ' l ', ' m ', ' n ', ' o ', ' p ', ' q ', ' r ', ' s ', ' t ', ' u ', ' v ', ' w ', ' x ', ' y ', ' z ' ) Upper_Case = ( ' A ', ' B ', ' C ', ' D ', ' E ', ' F ', ' G ', ' H ', ' I ', ' J ', ' K ', ' L ', ' M ', ' N ', ' O ', ' P ', ' Q ', ' R ', ' S ', ' T ', ' U ', ' V ', ' W ', ' X ', ' Y ', ' Z ' ) print(' Collection used for List1 : ', type(Lower_Case))
print(' Collection used for list2 : ', type(Upper_Case))
argument1 = len(Lower_Case)
argument2 = len(Upper_Case)
# Using len() function without method overloading
Object1 = overloading(argument1, argument2)
print('Overall length of both the lists : ', len(Object1))

Output:

We zien duidelijk dat in plaats van de gebruikelijke ingebouwde lengte-functionaliteit de overbelaste speciale functie __len __ () wordt gebruikt, waardoor de uitvoer de opgetelde lengte van beide lijsten in plaats van hun individuele lengte afdrukt.

Overbelasting van operator in Python

Dit omvat een uitgebreide interpretatie van een operator meer dan zijn oorspronkelijke doel. Het meest voorkomende voorbeeld is de toevoeging-operator '+' waar deze kan worden gebruikt voor gebruikelijke toevoeging en ook voor het samenvoegen van twee verschillende tekenreeksen.

Voorbeeld:

# add two numbers
print(1 + 2)
# concatenate two strings
print("Hello"+"World")

Output:

Voordelen van Python-overbelasting

  • Verhoogt herbruikbaarheid van code.
  • Verbetert de duidelijkheid van code.
  • De complexiteit van de code is enorm verminderd.

Conclusie

Overbelasting speelt een cruciale rol in veel programmeertalen op hoog niveau. In het geval van python, hoewel ze niet direct worden geïmpliceerd, spelen ze een belangrijke rol bij het vermijden van herhaald gebruik van code.

Aanbevolen artikelen

Dit is een gids voor Python-overbelasting. Hier bespreken we de door de gebruiker gedefinieerde en vooraf gedefinieerde functies samen met de operator en voordelen. U kunt ook de volgende artikelen bekijken voor meer informatie-

  1. Python-variabelen (Top 4-typen)
  2. Overbelasting versus overschrijven met voorbeelden
  3. Python-bestandsbewerkingen
  4. Python-editors (Top 6-editors)
  5. Voorbeelden van ingebouwde Python-functies