Polymorphisme dans Python avec des EXEMPLES
Qu'est-ce que le polymorphisme ?
Le polymorphisme peut รชtre dรฉfini comme une condition qui se prรฉsente sous de nombreuses formes diffรฉrentes. C'est un concept dans Python programmation dans laquelle un objet dรฉfini dans Python peut รชtre utilisรฉ de diffรฉrentes maniรจres. Il permet au programmeur de dรฉfinir plusieurs mรฉthodes dans une classe dรฉrivรฉe et porte le mรชme nom que celui prรฉsent dans la classe parent. De tels scรฉnarios prennent en charge la surcharge de mรฉthodes dans Python.
Polymorphisme dans Operajeudi
Un opรฉrateur en Python permet d'effectuer des tรขches mathรฉmatiques et plusieurs autres tรขches de programmation. Par exemple, l'opรฉrateur ยซ + ยป permet d'effectuer une addition entre deux types entiers dans Python, et de la mรชme maniรจre, le mรชme opรฉrateur aide ร concatรฉner des chaรฎnes dans Python la programmation.
Prenons un exemple de + (plus) opรฉrateur en Python pour afficher une application du polymorphisme dans Python comme indiquรฉ ci-dessous:
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))
Sortie :
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'exemple ci-dessus peut รฉgalement รชtre considรฉrรฉ comme un exemple de surcharge des opรฉrateurs.
Polymorphisme dans les mรฉthodes dรฉfinies par l'utilisateur
Une mรฉthode dรฉfinie par l'utilisateur dans le Python Le langage de programmation sont des mรฉthodes crรฉรฉes par l'utilisateur et dรฉclarรฉes ร l'aide du mot-clรฉ def avec le nom de la fonction.
Polymorphisme dans le Python Le langage de programmation est obtenu grรขce ร la surcharge et ร la substitution de mรฉthodes. Python dรฉfinit des mรฉthodes avec le mot-clรฉ def et avec le mรชme nom dans la classe enfant et parent.
Prenons l'exemple suivant comme indiquรฉ ci-dessous : โ
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())
Sortie :
Perimeter computed for square: 40 Area computed for square: 100 Perimeter computed for Circle: 25.132741228718345 Area computed for Circle: 50.26548245743669
Dans le code ci-dessus, il existe deux mรฉthodes dรฉfinies par l'utilisateur, pรฉrimรจtre et zone, dรฉfinies dans les classes cercle et carrรฉ.
Comme indiquรฉ ci-dessus, la classe cercle et la classe carrรฉ invoquent le mรชme nom de mรฉthode affichant la caractรฉristique du polymorphisme pour fournir le rรฉsultat requis.
Polymorphisme dans les fonctions
Les fonctions intรฉgrรฉes dans Python sont conรงus et rendus compatibles pour exรฉcuter plusieurs types de donnรฉes. Dans Python, Len() est lโune des principales fonctions intรฉgrรฉes.
Il fonctionne sur plusieurs types de donnรฉes : liste, tuple, chaรฎne et dictionnaire. La fonction Len() renvoie des informations prรฉcises alignรฉes sur ces nombreux types de donnรฉes.
La figure suivante montre comment le polymorphisme peut รชtre appliquรฉ dans Python en ce qui concerne les fonctions intรฉgrรฉes : โ
Le programme suivant aide ร illustrer l'application du polymorphisme dans 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"}))
Sortie :
The length of string Guru99 is 6 The length of the list is 3 The length of the dictionary is 2
Dans l'exemple ci-dessus, la fonction Len() de Python effectue un polymorphisme pour les types de donnรฉes chaรฎne, liste et dictionnaire, respectivement.
Polymorphisme et hรฉritage
Hรฉritage en Python peut รชtre dรฉfini comme le concept de programmation dans lequel une classe enfant dรฉfinie hรฉrite des propriรฉtรฉs d'une autre classe de base prรฉsente dans Python.
Il y a deux clรฉs Python concepts appelรฉs remplacement de mรฉthode et surcharge de mรฉthode.
- En surcharge de mรฉthode, Python fournit la fonctionnalitรฉ de crรฉer des mรฉthodes portant le mรชme nom pour exรฉcuter ou exรฉcuter diffรฉrentes fonctionnalitรฉs dans un morceau de code donnรฉ. Il permet de surcharger les mรฉthodes et de les utiliser pour effectuer diffรฉrentes tรขches en termes plus simples.
- Dans Remplacement de mรฉthode, Python remplace la valeur qui partage un nom similaire dans les classes parent et enfant.
Prenons l'exemple suivant de polymorphisme et d'hรฉritage comme indiquรฉ ci-dessous : โ
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())
Sortie :
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
Dans le code ci-dessus, les mรฉthodes ont le mรชme nom dรฉfini comme mรฉthode init et mรฉthode Area1. Les objets de classe square et rectangle sont ensuite utilisรฉs pour invoquer les deux mรฉthodes pour effectuer diffรฉrentes tรขches et fournir la sortie de la zone du carrรฉ et du rectangle.
Polymorphisme avec les mรฉthodes de classe
Le Python la programmation permet aux programmeurs de rรฉaliser le polymorphisme et la surcharge de mรฉthodes avec des mรฉthodes de classe. Les diffรฉrentes classes de Python peut avoir des mรฉthodes dรฉclarรฉes sous le mรชme nom dans le Python code.
In Python, deux classes diffรฉrentes peuvent รชtre dรฉfinies. Lโune serait la classe enfant et dรฉrive les attributs dโune autre classe dรฉfinie appelรฉe classe parent.
L'exemple suivant illustre le concept de polymorphisme avec des mรฉthodes de classe : โ
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()
Sortie :
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.
Dans le code ci-dessus, deux classes diffรฉrentes nommรฉes flipkart et amazon utilisent les mรชmes noms de mรฉthode info et init pour fournir les cotations de prix respectives du produit et illustrer davantage le concept de polymorphisme dans Python.
Diffรฉrence entre la surcharge de mรฉthode et le polymorphisme au moment de la compilation
Dans le polymorphisme au moment de la compilation, le compilateur du Python le programme rรฉsout lโappel. Le polymorphisme au moment de la compilation est rรฉalisรฉ grรขce ร une surcharge de mรฉthodes.
Le Python le compilateur ne rรฉsout pas les appels pendant l'exรฉcution pour le polymorphisme. Il est รฉgalement classรฉ comme mรฉthode de substitution dans laquelle les mรชmes mรฉthodes portent des signatures ou des propriรฉtรฉs similaires, mais elles font partie de classes diffรฉrentes.
Rรฉsumรฉ
- Le polymorphisme peut รชtre dรฉfini comme une condition qui se prรฉsente sous de nombreuses formes diffรฉrentes.
- Un opรฉrateur en Python aide ร effectuer des tรขches mathรฉmatiques et plusieurs autres tรขches de programmation.
- Une mรฉthode dรฉfinie par l'utilisateur dans le Python Le langage de programmation sont des mรฉthodes crรฉรฉes par l'utilisateur et dรฉclarรฉes ร l'aide du mot-clรฉ def avec le nom de la fonction.
- Polymorphisme dans Python offre plusieurs qualitรฉs souhaitables, comme celle de favoriser la rรฉutilisabilitรฉ des codes รฉcrits pour diffรฉrentes classes et mรฉthodes.
- Une classe enfant est une classe dรฉrivรฉe et elle obtient ses attributs de la classe parent.
- Le polymorphisme est รฉgalement obtenu grรขce au remplacement des mรฉthodes d'exรฉcution et ร la surcharge des mรฉthodes de compilation.
- Polymorphisme dans Python est รฉgalement obtenu grรขce ร la surcharge d'opรฉrateur et aux mรฉthodes de classe.


