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: โ€“

Polymorphismus in 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

Polymorphismus in Funktionen

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

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 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.

Die 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.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: