Polymorphismus in Python mit BEISPIELEN
Was ist Polymorphismus?
Polymorphismus kann als ein Zustand definiert werden, der in vielen verschiedenen Formen auftritt. Es ist ein Konzept in Python Programmierung, bei der ein Objekt definiert ist in Python kann auf verschiedene Arten verwendet werden. Es ermöglicht dem Programmierer, mehrere Methoden in einer abgeleiteten Klasse zu definieren, und es hat den gleichen Namen wie in der übergeordneten Klasse. Solche Szenarien unterstützen die Methodenüberladung in Python.
Polymorphismus in Operatoren
Ein Operator in Python hilft bei der Durchführung mathematischer und verschiedener anderer Programmieraufgaben. Beispielsweise hilft der Operator '+' bei der Addition zwischen zwei ganzzahligen Typen in Python, und auf die gleiche Weise hilft derselbe Operator beim Verketten von Zeichenketten in Python Programmierung.
Nehmen wir ein Beispiel für + (plus) Betreiber in Python um eine Anwendung des Polymorphismus anzuzeigen in Python wie unten dargestellt:
Python Code:
p = 55 q = 77 r = 9.5 g1 = "Guru" g2 = "99!" print("the sum of two numbers",p + q) print("the data type of result is",type(p + q)) print("The sum of two numbers",q + r) print("the data type of result is", type (q + r)) print("The concatenated string is", g1 + g2) print("The data type of two strings",type(g1 + g2))
Ausgang:
the sum of two numbers 132 the data type of result is <class 'int'> The sum of the two numbers 86.5 the data type of result is <class 'float'> The concatenated string is Guru99! The data type of two strings <class 'str'>
Das obige Beispiel kann auch als Beispiel für eine Operatorüberladung angesehen werden.
Polymorphismus in benutzerdefinierten Methoden
Eine benutzerdefinierte Methode im Python Programmiersprache sind Methoden, die der Benutzer erstellt und mit dem Schlüsselwort def mit dem Funktionsnamen deklariert wird.
Polymorphismus in der Python Die Programmiersprache wird durch Überladen und Überschreiben von Methoden erreicht. Python definiert Methoden mit dem Schlüsselwort „def“ und mit demselben Namen sowohl in der untergeordneten als auch in der übergeordneten Klasse.
Nehmen wir das folgende Beispiel: –
Python Code:
from math import pi class square: def __init__(self, length): self.l = length def perimeter(self): return 4 * (self.l) def area(self): return self.l * self.l class Circle: def __init__(self, radius): self.r = radius def perimeter(self): return 2 * pi * self.r def area(self): return pi * self.r * * 2 # Initialize the classes sqr = square(10) c1 = Circle(4) print("Perimeter computed for square: ", sqr.perimeter()) print("Area computed for square: ", sqr.area()) print("Perimeter computed for Circle: ", c1.perimeter()) print("Area computed for Circle: ", c1.area())
Ausgang:
Perimeter computed for square: 40 Area computed for square: 100 Perimeter computed for Circle: 25.132741228718345 Area computed for Circle: 50.26548245743669
Im obigen Code gibt es zwei benutzerdefinierte Methoden, Umfang und Fläche, die in den Klassen Kreis und Quadrat definiert sind.
Wie oben gezeigt, rufen sowohl die Kreisklasse als auch die Quadratklasse denselben Methodennamen auf, der die Eigenschaften des Polymorphismus anzeigt, um die erforderliche Ausgabe zu liefern.
Polymorphismus in Funktionen
Die integrierten Funktionen in Python sind so konzipiert und kompatibel, dass sie mehrere Datentypen ausführen können. Python, Len()
ist eine der wichtigsten integrierten Funktionen.
Es funktioniert mit mehreren Datentypen: Liste, Tupel, Zeichenfolge und Wörterbuch. Die Funktion Len() gibt bestimmte Informationen zurück, die auf diese vielen Datentypen ausgerichtet sind.
Die folgende Abbildung zeigt, wie Polymorphismus angewendet werden kann in Python in Bezug auf eingebaute Funktionen: –
Das folgende Programm hilft bei der Veranschaulichung der Anwendung von Polymorphismus in Python: -
Python Code:
print ("The length of string Guru99 is ",len("Guru99")) print("The length of list is ",len(["Guru99","Example","Reader"])) print("The length of dictionary is ",len({"Website name":"Guru99","Type":"Education"}))
Ausgang:
The length of string Guru99 is 6 The length of the list is 3 The length of the dictionary is 2
Im obigen Beispiel ist die Funktion Len () Python führt Polymorphismus für Zeichenfolgen-, Listen- und Wörterbuchdatentypen durch.
Polymorphismus und Vererbung
Vererbung in Python kann als das Programmierkonzept definiert werden, bei dem eine definierte Kindklasse Eigenschaften von einer anderen Basisklasse erbt, die in Python.
Es gibt zwei Schlüssel Python Konzepte, die als Methodenüberschreibung und Methodenüberladung bezeichnet werden.
- Bei der Methodenüberladung Python bietet die Möglichkeit, Methoden mit demselben Namen zu erstellen, um in einem bestimmten Codeabschnitt verschiedene Funktionen auszuführen. Es ermöglicht das Überladen von Methoden und deren Verwendung, um verschiedene Aufgaben einfacher auszuführen.
- Bei der Methodenüberschreibung Python überschreibt den Wert, der in übergeordneten und untergeordneten Klassen einen ähnlichen Namen hat.
Betrachten wir das folgende Beispiel für Polymorphismus und Vererbung: –
Python Code:
class baseclass: def __init__(self, name): self.name = name def area1(self): pass def __str__(self): return self.name class rectangle(baseclass): def __init__(self, length, breadth): super().__init__("rectangle") self.length = length self.breadth = breadth def area1(self): return self.length * self.breadth class triangle(baseclass): def __init__(self, height, base): super().__init__("triangle") self.height = height self.base = base def area1(self): return (self.base * self.height) / 2 a = rectangle(90, 80) b = triangle(77, 64) print("The shape is: ", b) print("The area of shape is", b.area1()) print("The shape is:", a) print("The area of shape is", a.area1())
Ausgang:
The shape is: a triangle The area of a shape is 2464.0 The shape is: a rectangle The area of a shape is 7200
Im obigen Code haben die Methoden denselben Namen wie die Methode „init“ und die Methode „area1“. Die Objekte der Klassen „Quadrat“ und „Rechteck“ werden dann verwendet, um die beiden Methoden aufzurufen, um unterschiedliche Aufgaben auszuführen und die Ausgabe der Fläche von Quadrat und Rechteck bereitzustellen.
Polymorphismus mit den Klassenmethoden
Der Python Programmierung ermöglicht es Programmierern, Polymorphismus und Methodenüberladung mit Klassenmethoden zu erreichen. Die verschiedenen Klassen in Python können Methoden haben, die im gleichen Namen deklariert sind, über die Python Code.
In Pythonkönnen zwei verschiedene Klassen definiert werden. Eine wäre die untergeordnete Klasse und sie leitet Attribute von einer anderen definierten Klasse ab, die als übergeordnete Klasse bezeichnet wird.
Das folgende Beispiel veranschaulicht das Konzept des Polymorphismus mit Klassenmethoden: –
Python Code:
class amazon: def __init__(self, name, price): self.name = name self.price = price def info(self): print("This is product and am class is invoked. The name is {self.name}. This costs {self.price} rupees.") class flipkart: def __init__(self, name, price): self.name = name self.price = price def info(self): print(f "This is product and fli class is invoked. The name is {self.name}. This costs {self.price} rupees.") FLP = flipkart("Iphone", 2.5) AMZ = amazon("Iphone", 4) for product1 in (FLP, AMZ): product1.info()
Ausgang:
This is a product, and fli class is invoked. The name is iPhone, and this costs 2.5 rupees. This is a product, and am class is invoked. The name is iPhone, and this costs 4 rupees.
Im obigen Code verwenden zwei verschiedene Klassen namens Flipkart und Amazon die gleichen Methodennamen info und init, um entsprechende Preisangaben für das Produkt bereitzustellen und das Konzept des Polymorphismus in weiter zu veranschaulichen Python.
Unterschied zwischen Methodenüberladung und Polymorphismus zur Kompilierungszeit
Beim Polymorphismus zur Kompilierungszeit muss der Compiler des Python Programm löst den Aufruf auf. Polymorphismus zur Kompilierungszeit wird durch Methodenüberladung erreicht.
Der Python Der Compiler löst die Aufrufe während der Laufzeit nicht auf Polymorphismus auf. Es wird auch als Methodenüberschreibung klassifiziert, bei der dieselben Methoden ähnliche Signaturen oder Eigenschaften aufweisen, aber Teil unterschiedlicher Klassen sind.
Zusammenfassung
- Polymorphismus kann als ein Zustand definiert werden, der in vielen verschiedenen Formen auftritt.
- Ein Operator in Python hilft bei der Durchführung mathematischer und verschiedener anderer Programmieraufgaben.
- Eine benutzerdefinierte Methode im Python Programmiersprache sind Methoden, die der Benutzer erstellt und mit dem Schlüsselwort def mit dem Funktionsnamen deklariert wird.
- Polymorphismus in Python bietet mehrere wünschenswerte Eigenschaften, beispielsweise fördert es die Wiederverwendbarkeit von Codes, die für verschiedene Klassen und Methoden geschrieben wurden.
- Eine untergeordnete Klasse ist eine abgeleitete Klasse und erhält ihre Attribute von der übergeordneten Klasse.
- Der Polymorphismus wird auch durch Überschreiben von Methoden zur Laufzeit und Überladen von Methoden zur Kompilierungszeit erreicht.
- Polymorphismus in Python wird auch durch Operatorüberladung und Klassenmethoden erreicht.