Funktionsüberladung in Python

Lakshay Kapoor 30 Januar 2023
  1. Überlastungsdefinition
  2. Funktionsüberladung in Python
  3. Verwenden Sie Multiple Dispatch Decorator, um das Überladen von Funktionen in Python durchzuführen
Funktionsüberladung in Python

In diesem Artikel geht es um das Überladen von Python-Funktionen und wie Sie es ausführen können. Wir haben Methoden und Beispielprogramme für Sie unten aufgeführt.

Überlastungsdefinition

In der Programmierung hilft der Begriff Überladen einer Funktion, basierend auf den darin gespeicherten Argumenten und Parametern, auf verschiedene Weise zu agieren. Überladen ermöglicht die wiederholte Wiederverwendung eines Programms; Anstatt beispielsweise mehrere Methoden zu übergeben, die sich nicht zu sehr unterscheiden, kann nur eine Methode übergeben und überladen werden. Auch das Überladen einer Funktion macht ein Programm übersichtlicher und weniger komplex.

Sie sollten diesen Prozess nicht übermäßig verwenden, da er bei der Verwaltung mehrerer überladener Funktionen Verwirrung stiftet.

Funktionsüberladung in Python

In Python kann eine Funktion erstellt und mehrmals aufgerufen werden, indem viele Argumente oder Parameter darin übergeben werden. Dieser Vorgang des wiederholten Aufrufens derselben Funktion unter Verwendung verschiedener Argumente oder Parameter wird als Funktionsüberladung bezeichnet.

class Home:
    def Knock(self, person_one=None, person_two=None):
        if person_one is not None and person_two is None:
            print("Hi, " + person_one)
        elif person_one is not None and person_two is not None:
            print("Hi, " + person_one + " and " + person_two)
        else:
            print("Who's there? ")


DefObj = Home()

DefObj.Knock()
DefObj.Knock("Rick", "Morty")
DefObj.Knock("Sam")

In diesem Programm definieren wir zunächst eine Klasse namens Home, in der wir eine Funktion Knock definieren. Danach liefert die bedingte Anweisung if-else unterschiedliche Bedingungen basierend auf verschiedenen Eingaben. Dann erstellen wir ein Objekt namens DefObj, mit dem die Hauptklasse Home die Funktion Knock aufruft. Schliesslich haben wir die Funktion Knock mehr als einmal mit unterschiedlichen Argumenten aufgerufen. Daher haben wir in diesem Programm Funktionsüberladungen verwendet.

Verwenden Sie Multiple Dispatch Decorator, um das Überladen von Funktionen in Python durchzuführen

Dekoratoren in Python sind die Werkzeuge, die beim Modifizieren des Verhaltens einer bestimmten Klasse oder Funktion im Programm helfen. Sie werden verwendet, um andere Funktionen hinzuzufügen, um die vorhandene Funktion zu ändern, ohne sie tatsächlich zu ändern.

Ein Dispatch Decorator hilft Ihnen bei der Auswahl von Implementierungen aus mehreren Ausführungen derselben abstrakten Funktion basierend auf der gegebenen Typenliste.

Schauen Sie sich das folgende Beispielprogramm an:

from multipledispatch import dispatch


@dispatch(float, float, float)
def summation(float_1, float_2, float_3):
    total = float_1 + float_2 + float_3
    print(total)


@dispatch(int, int, int)
def difference(int_1, int_2, int_3):
    diff = int_1 - int_2 - int_3
    print(diff)


@dispatch(int, int, int)
def multiply(int_1, int_2, int_3):
    product = int_1 * int_2 * int_3
    print(product)


summation(6.9, 3.14, 7.12)
difference(9, 6, 3)
product(3, 3, 3)

Ausgabe:

17.16
0
27

Hier können Sie beliebige Datentypen an den Dispatcher übergeben. Der Dispatcher wird verwendet, um ein Objekt mit verschiedenen Implementierungen zu erstellen. Während der Ausführung wird die entsprechende Funktion ausgewählt, indem nur der Funktionsname, die Anzahl der Argumente und der Datentyp der Argumente verwendet werden.

Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

Verwandter Artikel - Python Function