Methodenüberladung in Python
- Methodenüberladung in Python
- Vorteile der Methodenüberladung in Python
- Methodenüberladung in Python mit unterschiedlichen Datentypen in derselben Methode
- Methodenüberladung in Python mit mehreren Dispatch-Decorators
Dieses Tutorial stellt das Überladen von Methoden in Python und seine Vorteile anhand von Beispielen vor.
Methodenüberladung in Python
Das Überladen von Methoden spielt in Python eine entscheidende Rolle. Methoden akzeptieren manchmal null Parameter und manchmal einen oder mehrere Parameter.
Wenn wir dieselbe Methode auf unterschiedliche Weise aufrufen, wird dies als Methodenüberladung bezeichnet. Python unterstützt die Überladungsmethode standardmäßig nicht wie andere Sprachen.
Zwei oder mehr Methoden können in Python nicht die gleichen Namen haben, da das Überladen von Methoden es uns ermöglicht, denselben Operator mit unterschiedlichen Bedeutungen zu erstellen. Lassen Sie uns das Überladen von Methoden im Detail besprechen.
Wenn zwei oder mehr Methoden in derselben Klasse unterschiedliche Parameter annehmen, haben sie möglicherweise denselben Namen. Die Eigenschaft des Überladens von Methoden ermöglicht es demselben Operator, mehrere Interpretationen zu haben.
Überladen bezieht sich auf eine Methode oder einen Operator, der viele Funktionen unter demselben Namen ausführen kann.
Lassen Sie uns nun das Überladen von Methoden anhand eines einfachen Beispiels besprechen, in dem wir zwei verschiedene Dinge mit demselben Parameter ausführen.
Beispiel:
# python
class methodOverload:
def MethodHi(self, user=None):
if user is not None:
print("Hello " + user)
else:
print("Hello")
MethodObj = methodOverload()
MethodObj.MethodHi()
MethodObj.MethodHi("Hasnain")
Ausgang:
Wie Sie in diesem Beispiel sehen können, haben wir eine Klasse methodOverload
erstellt, in der wir die Methode MethodHi
definiert haben, die den Benutzer mit und ohne Namen begrüßt. Nach dieser Klasse haben wir eine Objektinstanz mit der Klasse erstellt und sie mit und ohne Parameter aufgerufen.
Diese Art des Ladens von Funktionen mit unterschiedlichen Parametern wird als Methodenüberladung bezeichnet. Lassen Sie uns nun die Vorteile der Verwendung von Methodenüberladungen in unseren Python-Programmen diskutieren.
Vorteile der Methodenüberladung in Python
Das Überladen von Methoden in Python-Programmen hat viele Vorteile. Einige von ihnen sind wie folgt:
- Das Überladen von Methoden reduziert die Komplexität, Funktion oder Methode des Programms. Es macht es dem Benutzer einfach, es ohne Parameter, mit einem einzigen Parameter oder mit mehreren Parametern zu verwenden.
- Das Überladen von Methoden verbessert die Codequalität, macht sie effizient und deckt die meisten Anwendungsfälle ab, um unsere Anwendung erfolgreich zu machen.
- Das Überladen von Methoden erhöht die Wiederverwendbarkeit des Programms und macht es leicht zugänglich.
Lassen Sie uns nun einige Beispiele für das Überladen von Methoden durchgehen, bei denen wir verschiedene Aspekte des Überladens von Methoden behandeln werden. Wenn wir dieselben Funktionen erstellen und sie unterschiedlich bearbeiten möchten, können wir Methodenüberladung verwenden.
Methodenüberladung in Python mit unterschiedlichen Datentypen in derselben Methode
In unserem ersten Beispiel machen wir eine Klasse addition
und verwenden verschiedene Datentypen, um zwei Aufgaben mit derselben Methode auszuführen. Das Programm prüft, ob der Datentyp eine Ganzzahl ist, dann ist die Antwort die Addition von Zahlen.
Wenn der Datentyp ein String ist, ist die Antwort die Verkettung von Strings. Wir verwenden eine for
-Schleife, die die Argumente durchläuft und alle überprüft.
Wenn es sich um ganze Zahlen handelt, werden sie addiert. Und wenn es sich um Strings handelt, werden sie wie unten gezeigt kombiniert.
Beispiel:
# python
def addition(datatype, *args):
if datatype == "int":
result = 0
for x in args:
result = result + x
print(result)
if datatype == "str":
result = []
for x in args:
result.append(x)
print(result[0], result[1])
addition("int", 7, 11)
addition("str", "Hello", "python")
Ausgang:
Als wir im obigen Beispiel Integer als Datentyp mit zu addierenden Zahlen bereitgestellt haben, haben wir die Addition von Zahlen erhalten. Aber als wir string als Datentyp angegeben und Strings übergeben haben, hat dieselbe Methode die Strings verkettet und das Ergebnis angezeigt.
Methodenüberladung in Python mit mehreren Dispatch-Decorators
Lassen Sie uns nun ein weiteres Beispiel durchgehen, das etwas knifflig sein wird. In diesem Beispiel verwenden wir die effiziente Methode zum Überladen von Methoden.
Wir müssen die Multiple Dispatch Decorators mit dem folgenden Befehl installieren.
pip install multipledispatch
Nach der Installation werden wir es in unser Programm importieren. Es versendet drei Integer und drei Floats und zeigt die Ergebnisse unten an.
Beispiel:
# python
from multipledispatch import dispatch
@dispatch(int, int, int)
def multiply(oneInt, twoInt, threeInt):
ans = oneInt * twoInt * threeInt
print(ans)
@dispatch(float, float, float)
def multiply(oneInt, twoInt, threeInt):
ans = oneInt * twoInt * threeInt
print(ans)
multiply(3, 7, 8)
multiply(3.6, 5.9, 9.9)
Ausgang:
Wie Sie im obigen Beispiel sehen können, können wir mehrere Dispatch-Decorators verwenden, um verschiedene Datentypen zu senden und Ergebnisse daraus zu erhalten, indem wir für alle Datentypen, die wir verwenden möchten, dieselbe Methode verwenden.
Rana is a computer science graduate passionate about helping people to build and diagnose scalable web application problems and problems developers face across the full-stack.
LinkedIn