Polimorfismo dentro Python con ESEMPI
Cos'รจ il polimorfismo?
Il polimorfismo puรฒ essere definito come una condizione che si manifesta in molte forme diverse. ร un concetto in Python programmazione in cui un oggetto definito in Python puรฒ essere utilizzato in diversi modi. Consente al programmatore di definire piรน metodi in una classe derivata e ha lo stesso nome presente nella classe genitore. Tali scenari supportano l'overload del metodo Python.
Polimorfismo dentro OperaTors
Un operatore dentro Python aiuta a svolgere compiti matematici e di programmazione di altro tipo. Ad esempio, l'operatore '+' aiuta a eseguire l'addizione tra due tipi di interi in Python, e allo stesso modo, lo stesso operatore aiuta a concatenare le stringhe in Python programmazione.
Facciamo un esempio di + (piรน) operatore in Python per visualizzare un'applicazione di Polimorfismo in Python come mostrato di seguito:
Python Codice:
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))
Produzione:
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'>
L'esempio sopra puรฒ anche essere considerato come un esempio di sovraccarico dell'operatore.
Polimorfismo nei metodi definiti dall'utente
Un metodo definito dall'utente in Python il linguaggio di programmazione รจ un metodo creato dall'utente e viene dichiarato utilizzando la parola chiave def con il nome della funzione.
Polimorfismo nel Python il linguaggio di programmazione si ottiene attraverso l'overload e l'override del metodo. Python definisce i metodi con la parola chiave def e con lo stesso nome sia nella classe figlia che in quella genitore.
Prendiamo il seguente esempio come mostrato di seguito: โ
Python Codice:
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())
Produzione:
Perimeter computed for square: 40 Area computed for square: 100 Perimeter computed for Circle: 25.132741228718345 Area computed for Circle: 50.26548245743669
Nel codice precedente sono presenti due metodi definiti dall'utente, perimetro e area, definiti nelle classi circle e quadrati.
Come mostrato sopra, sia la classe Circle che la classe Square invocano lo stesso nome di metodo visualizzando la caratteristica del polimorfismo per fornire l'output richiesto.
Polimorfismo nelle funzioni
Le funzioni integrate in Python sono progettati e resi compatibili per eseguire diversi tipi di dati. In Python, Len() รจ una delle funzioni principali integrate.
Funziona su diversi tipi di dati: elenco, tupla, stringa e dizionario. La funzione Len() restituisce informazioni definite allineate con questi numerosi tipi di dati.
La figura seguente mostra come il polimorfismo puรฒ essere applicato in Python in relazione alle funzioni integrate: โ
Il programma seguente aiuta a illustrare l'applicazione del polimorfismo in Python: -
Python Codice:
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"}))
Produzione:
The length of string Guru99 is 6 The length of the list is 3 The length of the dictionary is 2
Nell'esempio sopra, la funzione Len () di Python esegue il polimorfismo rispettivamente per i tipi di dati stringa, elenco e dizionario.
Polimorfismo ed ereditarietร
Ereditร in Python puรฒ essere definito come il concetto di programmazione in cui una classe figlia definita eredita le proprietร da un'altra classe base presente in Python.
Ci sono due chiavi Python concetti denominati sovrascrittura del metodo e sovraccarico del metodo.
- Nel sovraccarico del metodo, Python fornisce la funzionalitร di creare metodi che hanno lo stesso nome per eseguire o eseguire funzionalitร diverse in un dato pezzo di codice. Consente di sovraccaricare i metodi e di utilizzarli per eseguire compiti diversi in termini piรน semplici.
- In Metodo override, Python sovrascrive il valore che condivide un nome simile nelle classi padre e figlio.
Prendiamo il seguente esempio di polimorfismo ed ereditarietร come mostrato di seguito: โ
Python Codice:
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())
Produzione:
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
Nel codice precedente, i metodi hanno lo stesso nome definito come metodo init e metodo area1. Gli oggetti della classe quadrato e rettangolo vengono quindi utilizzati per invocare i due metodi per eseguire compiti diversi e fornire l'output dell'area del quadrato e del rettangolo.
Polimorfismo con i metodi delle classi
Migliori Python la programmazione consente ai programmatori di ottenere il polimorfismo e l'overload dei metodi con metodi di classe. Le diverse classi in Python possono avere metodi dichiarati con lo stesso nome in tutti i file Python codice.
In Python, si possono definire due classi diverse. Una sarebbe la classe figlia e deriva gli attributi da un'altra classe definita denominata classe genitore.
L'esempio seguente illustra il concetto di polimorfismo con metodi di classe: โ
Python Codice:
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()
Produzione:
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.
Nel codice sopra, due classi diverse denominate flipkart e amazon utilizzano gli stessi nomi di metodo info e init per fornire rispettive quotazioni di prezzo del prodotto e illustrare ulteriormente il concetto di polimorfismo in Python.
Differenza tra l'overload del metodo e il polimorfismo in fase di compilazione
Nel Polymorphism in fase di compilazione, il compilatore di Python il programma risolve la chiamata. Il polimorfismo in fase di compilazione viene ottenuto tramite l'overload del metodo.
Migliori Python il compilatore non risolve le chiamate durante il runtime per il polimorfismo. ร anche classificato come overriding del metodo in cui gli stessi metodi portano firme o proprietร simili, ma fanno parte di classi diverse.
Sintesi
- Il polimorfismo puรฒ essere definito come una condizione che si manifesta in molte forme diverse.
- Un operatore dentro Python aiuta a eseguire attivitร matematiche e molte altre attivitร di programmazione.
- Un metodo definito dall'utente in Python il linguaggio di programmazione รจ un metodo creato dall'utente e viene dichiarato utilizzando la parola chiave def con il nome della funzione.
- Polimorfismo dentro Python offre diverse qualitร desiderabili, come ad esempio la promozione della riutilizzabilitร dei codici scritti per classi e metodi diversi.
- Una classe figlia รจ una classe derivata e ottiene i suoi attributi dalla classe genitore.
- Il polimorfismo si ottiene anche tramite l'override del metodo in fase di esecuzione e l'overload del metodo in fase di compilazione.
- Polimorfismo dentro Python si ottiene anche tramite il sovraccarico degli operatori e i metodi di classe.


