Polymorphismus in Python mit BEISPIELEN

Was ist Polymorphismus?

Polymorphismus kann als ein Zustand definiert werden, der in vielen verschiedenen Formen auftritt. Es handelt sich um ein Konzept in der Python-Programmierung, bei dem ein in Python definiertes Objekt auf unterschiedliche Weise verwendet werden kann. Es ermöglicht dem Programmierer, mehrere Methoden in einer abgeleiteten Klasse zu definieren und hat denselben Namen wie in der übergeordneten Klasse. Solche Szenarien unterstützen das Überladen von Methoden in Python.

Polymorphismus in Operatoren

Ein Operator in Python hilft bei der Ausführung mathematischer und verschiedener anderer Programmieraufgaben. Der „+“-Operator hilft beispielsweise bei der Addition zwischen zwei Ganzzahltypen in Python, und auf die gleiche Weise hilft derselbe Operator bei der Verkettung von Zeichenfolgen in der Python-Programmierung.

Nehmen wir ein Beispiel für + (plus) Operator in Python um eine Anwendung des Polymorphismus in Python anzuzeigen, wie unten gezeigt:

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überlastung angesehen werden.

Polymorphismus in benutzerdefinierten Methoden

Eine benutzerdefinierte Methode in der Programmiersprache Python sind Methoden, die der Benutzer erstellt und die mit dem Schlüsselwort def mit dem Funktionsnamen deklariert werden.

Polymorphismus in der Programmiersprache Python wird durch Methodenüberladung und -überschreibung erreicht. Python definiert Methoden mit dem Schlüsselwort def und mit demselben Namen in der untergeordneten und übergeordneten Klasse.

Nehmen wir Folgendeswing Beispiel wie unten gezeigt: –

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 in Python integrierten Funktionen sind so konzipiert und kompatibel, dass sie mehrere Datentypen ausführen können. In 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 folgendenwing Die Abbildung zeigt, wie Polymorphismus in Python in Bezug auf integrierte Funktionen angewendet werden kann: –

Polymorphismus in Funktionen

Following Das 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

Polymorphismus in Funktionen

Im obigen Beispiel führt die Funktion Len() von Python einen Polymorphismus für die Datentypen String, Liste und Wörterbuch durch.

Polymorphismus und Vererbung

Vererbung in Python kann als Programmierkonzept definiert werden, bei dem eine definierte untergeordnete Klasse Eigenschaften von einer anderen in Python vorhandenen Basisklasse erbt.

Es gibt zwei wichtige Python-Konzepte, die als Methodenüberschreibung und Methodenüberladung bezeichnet werden.

  • Beim Überladen von Methoden bietet Python die Möglichkeit, Methoden mit demselben Namen zu erstellen, um unterschiedliche Funktionen in einem bestimmten Codeabschnitt auszuführen oder auszuführen. Es ermöglicht die Überladung von Methoden und deren Verwendung zur einfacheren Ausführung verschiedener Aufgaben.
  • Beim Überschreiben von Methoden überschreibt Python den Wert, den sh hatares ein ähnlicher Name in übergeordneten und untergeordneten Klassen.

Nehmen wir Folgendeswing Beispiel für Polymorphismus und Vererbung wie unten gezeigt: –

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

Die 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 gesamten Python-Code mit demselben Namen deklariert werden.

In Python können zwei verschiedene Klassen definiert werden. Eine davon wäre eine untergeordnete Klasse und sie leitet Attribute von einer anderen definierten Klasse ab, die als übergeordnete Klasse bezeichnet wird.

Die folgendenwing 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 werden zwei verschiedene Klassen mit den Namen flipkart und amazon Verwenden Sie dieselben Methodennamen info und init, um entsprechende Preisangebote für das Produkt bereitzustellen und das Konzept des Polymorphismus in Python weiter zu veranschaulichen.

Unterschied zwischen Methodenüberladung und Polymorphismus zur Kompilierungszeit

Beim Polymorphismus zur Kompilierzeit löst der Compiler des Python-Programms den Aufruf auf. Polymorphismus zur Kompilierungszeit wird durch Methodenüberladung erreicht.

Der Python-Compiler löst die Aufrufe zur Laufzeit wegen Polymorphismus nicht auf. Es wird auch als Methodenüberschreibung klassifiziert, bei der dieselben Methoden ähnliche Signaturen oder Eigenschaften tragen, 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 Ausführung mathematischer und verschiedener anderer Programmieraufgaben.
  • Eine benutzerdefinierte Methode in der Programmiersprache Python sind Methoden, die der Benutzer erstellt und die mit dem Schlüsselwort def mit dem Funktionsnamen deklariert werden.
  • Polymorphismus in Python bietet mehrere wünschenswerte Eigenschaften, beispielsweise fördert er 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 wird in Python auch durch Operatorüberladung und Klassenmethoden erreicht.