Was ist Konstruktorüberladung in Python? Mit Beispielen

Veröffentlicht: 2023-01-29

Python ist eine benutzerfreundliche Programmiersprache, die von Anfängern leicht beherrscht werden kann. Diese Programmiersprache bietet ein breites Spektrum an Community-Unterstützung, die den Programmierern hilft, verschiedene Möglichkeiten zur Implementierung des Codes zu erkunden. Die Standardbibliotheken in Python und die vom Community-Forum beigesteuerten Module haben endlose Möglichkeiten eröffnet, darunter Web- und Internetentwicklung, Desktop-GUIs, Datenbankzugriff, Bildung, wissenschaftliche und numerische Anwendungen, Netzwerkprogrammierung, Softwareentwicklung und Programme zur Entwicklung von Spielen. Diese Open-Source-Sprache wird unter einer von OSI genehmigten Lizenz entwickelt. Daher kann es kostenlos verwendet und verteilt werden. Die Python Software Foundation verwaltet die Lizenz von Python.

Inhaltsverzeichnis

Konstruktoren in Python:

Die Hauptfunktion eines Python-Konstruktors besteht darin, die Objekte zu instanziieren. Zum Zeitpunkt der Objekterstellung werden den Datenelementen der Klasse Werte zugewiesen oder mit Hilfe von Konstruktoren initialisiert. Die Funktion _init_ ist ein Konstruktor in Python. Es wird oft aufgerufen, wenn ein neues Objekt erstellt wird.

Die Syntax für die Deklaration eines Konstruktors ist

Def _init_(selbst):

# Körper des Konstruktors

Es gibt zwei Arten von Konstruktoren in Python. Sie sind:

  • Standardkonstruktor
  • Parametrisierter Konstruktor

Standardkonstruktor:

Es ist ein einfacher Konstruktor und akzeptiert keine Eingabeparameter. Die Definition von Standardkonstruktoren hat nur ein Argument, das sich auf die zu erstellende Instanz bezieht.

Parametrisierter Konstruktor:

Wie der Name schon sagt, haben diese Konstruktoren Parameter. Das erste Argument dieser Art von Konstruktoren bezieht sich auf die Instanz, die konstruiert wird und als „self“ bekannt ist. Alle anderen erforderlichen Argumente werden vom Programmierer als Eingaben angegeben.

Sehen Sie sich die Data Science-Kurse von upGrad an

Konstruktorüberladung in Python:

Das Überladen von Konstrukten bezieht sich auf ein Szenario, bei dem eine größere Anzahl von Konstruktoren mit einer separaten Liste von Parametern integriert wird, sodass jeder Konstruktor verwendet wird, um verschiedene Aufgaben im Programm auszuführen. Beispielsweise gibt es in der Vector-Klasse vier Arten von Konstruktoren.

Python unterstützt nicht explizit mehrere Konstruktoren. Die Verwendung mehrerer Konstruktoren in Python kann jedoch auf verschiedene Arten erreicht werden. Wenn ein Programmierer mehrere _init_-Methoden für dieselbe Klasse schreibt, überschreibt die zuletzt geschriebene _init_-Funktion alle anderen Konstruktoren.

Warum sind in Python mehrere Konstruktoren erforderlich?

Wenn der Benutzer verschiedene Aktionen ausführen muss, um eine Klasse zu instanziieren, taucht die Anforderung mehrerer Konstruktoren auf. Dies ist hilfreich, wenn verschiedene Aktionen von der Klasse an verschiedenen Parametern ausgeführt werden sollen. Die Klassenkonstruktoren in Python sind so strukturiert, dass sie Polymorphismus auf drei verschiedene Arten zeigen, wie unten aufgeführt:

  1. Konstruktorüberladung basierend auf Argumenten
  2. Aufrufen von _init_-Methoden
  3. Verwendung des @classmethod-Dekorators

Entdecken Sie unsere beliebten Data Science-Kurse

Executive Post Graduate Program in Data Science vom IIITB Professional Certificate Program in Data Science für die Entscheidungsfindung in Unternehmen Master of Science in Data Science von der University of Arizona
Advanced Certificate Program in Data Science vom IIITB Professional Certificate Program in Data Science und Business Analytics von der University of Maryland Data Science-Kurse

Lesen Sie unsere beliebten Data Science-Artikel

Data Science Career Path: Ein umfassender Karriereleitfaden Data Science Karrierewachstum: Die Zukunft der Arbeit ist da Warum ist Data Science wichtig? 8 Wege, wie Data Science dem Unternehmen einen Mehrwert bringt
Relevanz von Data Science für Manager Der ultimative Data Science Spickzettel, den jeder Data Scientist haben sollte Die 6 wichtigsten Gründe, warum Sie Data Scientist werden sollten
Ein Tag im Leben von Data Scientists: Was machen sie? Mythos gesprengt: Data Science braucht keine Codierung Business Intelligence vs. Data Science: Was sind die Unterschiede?

Konstruktorüberladung in Python basierend auf Argumenten:

Bei dieser Methode werden die Konstruktoren überladen, indem die erforderlichen Aktionen ausgeführt werden, nachdem die Bedingungen für die übergebenen Argumente überprüft wurden. Betrachten wir ein Beispiel für die Übergabe eines Parameters an die Sample-Klasse.

  • Das Quadrat der Zahl ist die Antwort, wenn der Eingabeparameter ein Int ist.
  • Wenn die Länge des Parameters größer als 1 ist, wird die Summe der Argumente als Antwort angezeigt.

Methodenaufruf mit _init_:

Wenn eine Instanz einer Klasse erstellt wird, kann die Klasse einen einzigen _init_-Konstruktor haben, der jede zugewiesene Aufgabe ausführen kann. Dieser Konstruktor kann geändert werden, um verschiedene Funktionen zu handhaben und verschiedene Aufgaben basierend auf dem übergebenen Parameter auszuführen. Betrachten wir ein Beispiel, bei dem die folgenden Berechnungen durchgeführt werden.

  • Wenn zwei Argumente übergeben werden, wird der Ausdruck als x = a 2 – b 2 ausgewertet
  • Wenn drei Argumente übergeben werden, lautet der ausgewertete Ausdruck y = a 2 + b 2 – c
  • Wenn die Anzahl der übergebenen Argumente drei überschreitet, addieren Sie die Quadrate dieser Zahlen und dividieren Sie die Summe durch das Argument mit dem höchsten Wert.

Wenn Sie sich intensiver mit dem Überschreiben von Methoden in Python vertraut machen möchten, empfehlen wir Ihnen, den 18-monatigen Master of Science in Data Science zu absolvieren . upGrad bietet diesen Kurs vom IIIT Bangalore und der Liverpool John Moore's University an. Der Kurs vermittelt Ihnen Fähigkeiten wie Statistik, Predictive Analytics mit Python, maschinelles Lernen, Datenvisualisierung, Big Data Analytics und mehr. Studenten mit fundierten Kenntnissen der Konzepte von Python sind gut positioniert, um Themen wie Deep Learning, Natural Language Processing, Business Analytics und Data Engineering anzugehen.

Möchten Sie diesen Artikel teilen?

Bereiten Sie sich auf eine Karriere der Zukunft vor

Bewerben Sie sich für den Master of Science in Data Science