Héritage en Python | Héritage Python [avec exemple]
Publié: 2020-12-14Python est l'un des langages de programmation les plus populaires. Malgré une transition pleine de hauts et de bas de la version Python 2 à Python 3, le langage de programmation orienté objet a connu un énorme bond en popularité.
Si vous envisagez une carrière en tant que développeur Python, vous êtes tenu d'avoir un paiement plus élevé. Comme le salaire moyen d'un développeur Python est d'environ 119 082 $ par an. Mais, avant de poursuivre avec le programme d'apprentissage Python, voici quelque chose que vous devez savoir en premier : l'héritage en Python. Consultez nos certifications en science des données si vous souhaitez acquérir une expertise en python et autres outils.
Commençons d'abord par ce qu'est exactement l'héritage en Python ?
Table des matières
Qu'est-ce qu'un héritage en Python ?
Tout comme une relation parent-enfant, l'héritage fonctionne sur les classes dérivées par rapport à la classe de base. Chaque classe "Dérivée" hérite d'une classe "Base". L'héritage est représenté en UML ou Unified Modeling Language. Il s'agit d'un langage de modélisation standard qui comprend un ensemble intégré de diagrammes pour aider les développeurs à spécifier, structurer et documenter les éléments des systèmes logiciels.
La relation d'héritage définit les classes qui héritent d'autres classes en tant que classes dérivées, sous-classes ou sous-types. La classe de base reste la source dont hérite une sous-classe. Par exemple, vous avez une classe de base "Animal" et un "Lion" est une classe dérivée. L'héritage sera Lion est un animal.
Donc, la question est, qu'est-ce que la classe "Lion" hérite de "Animal" ?
Une classe "Lion" hérite
- Interface
- Exécution
Remarque : Vous pouvez remplacer les objets de la classe dérivée par des objets de la classe de base dans une application connue sous le nom de principe de substitution de Liskov . Cela indique que si un programme informatique a l'objet P comme sous-type de Q, vous pouvez facilement remplacer P par Q sans modifier les propriétés.
Consultez également : le salaire d'un développeur Python en Inde
Avantages de l'héritage en Python
- L'héritage en Python aide les développeurs à réutiliser les objets.
- Chaque fois qu'une classe hérite de la classe de base, elle accède aux fonctionnalités de l'objet parent.
- La réutilisabilité due à l'héritage est également fiable car la classe de base est déjà testée.
- Temps et coût de développement réduits
- La normalisation de l'interface entre les classes devient facile.
- Réduit la redondance du code et aide à améliorer l'extensibilité
- La création de bibliothèques de classes devient facile.
Types d'héritage en Python
Héritage unique
Nous avons déjà vu ce qu'est l'héritage unique - l'héritage de la classe "Derived" de la classe "Base". Comprenons-le à travers un exemple,
Classe Pays :
def ShowCountry(self):
print("C'est l'Espagne");
classe État (pays):
def ShowState(self):
print("Ceci est l'état");
st =Etat();
st.ShowCountry();
st.ShowState();
Héritage à plusieurs niveaux
Python est composé de plusieurs objets, et avec l'héritage multi-niveaux, les possibilités de réutilisation des fonctionnalités de la classe sont infinies. L'héritage à plusieurs niveaux est documenté chaque fois qu'une classe dérivée hérite d'une autre classe dérivée. Il n'y a pas de limite au nombre de classes dérivées pouvant hériter des fonctionnalités, et c'est pourquoi l'héritage à plusieurs niveaux contribue à améliorer la réutilisabilité en Python.
Voici un exemple d'héritage multiniveau
classe Animaux :
def parler (auto):
print("Animal qui parle")
#La classe enfant Dog hérite de la classe de base Animal
classe Chien (Animal):
def écorce (soi):
print("chien qui aboie")
#La classe enfant Dogchild hérite d'une autre classe enfant Dog
classe ChienEnfant(Chien):
def manger (soi):
print(“Manger du pain…”)
d = ChienEnfant()
d.écorce()
d.parle()
d.manger()
Héritage multiple
Python permet aux développeurs d'hériter de plusieurs fonctionnalités et propriétés de différentes classes de base dans une seule classe dérivée. C'est surtout une fonctionnalité intéressante car elle peut vous permettre d'hériter de plusieurs dépendances sans outils ni codage étendus.
Prenons un exemple d'héritages multiples.
classe Calcul1 :
def Sommation(soi,a,b):
retourner a+b ;
classe Calcul2 :
def Multiplication(soi,a,b):
retourner a*b ;
classe Dérivée(Calcul1,Calcul2):
def Diviser(soi,a,b):
retourner a/b ;
d = Dérivé()
print(d.Sommation(10,20))
print(d.Multiplication(10,20))

print(d.Divide(10,20))
Découvrez: Comment convertir la parole en texte avec Python
Comment identifier une classe dérivée ?
Python est livré avec une fonction intégrée issubclass() qui aide les développeurs à vérifier si une classe est une classe dérivée ou une classe de base. Une fois que vous avez exécuté cette fonction, elle retourne avec un résultat "True" pour la sous-classe ou une classe dérivée, tandis que False pour la classe de base.
Un développeur peut vérifier la classe via cet exemple.
classe monÂge :
âge = 36
classe monObj(monAge):
nom = "Jean"
âge = monÂge
x = issubclass(myObj, myAge)
Comment créer une hiérarchie de classes en Python ?
L'héritage en Python aide à créer des hiérarchies de classes. Toutes les classes relatives partageront une interface commune pour communiquer entre elles. Une classe Base définit l'interface. Les classes dérivées peuvent fournir une spécialisation spécifique de l'interface. Ici, nous explorons un modèle RH pour démontrer la hiérarchie des classes.
Le système RH traitera la paie des différents travailleurs de l'entreprise ; chaque travailleur est identifié par un identifiant et a différents postes de paie à calculer.
Commençons par créer une classe de paie comme objet "Base".
# Dans hr.py
classe PayrollSystem :
def calculate_payroll(self, workers):
print('Calcul de la paie')
imprimer('===================')
pour le travailleur dans les travailleurs :
print(f'Paie pour : {worker.id} – {worker.name}')
print(f'- Montant du chèque : {worker.calculate_payroll()}')
impression(")
Le système de paie exécute une méthode .calculate_payroll () qui collecte les informations du travailleur, imprime son identifiant, son nom et vérifie le montant de la paie . Maintenant, vous exécutez un worker de classe de base qui s'attaque à l'interface standard pour chaque type de worker :
# Dans hr.py
classe Ouvrier :
def __init__(self, id, name):
self.id = identifiant
soi.nom = nom
La création d'une classe de base Worker pour tous les types de travailleurs de l'entreprise facilite la hiérarchie pour le système RH. Chaque travailleur se voit attribuer un nom et un identifiant. Le système RH exige que le travailleur fournisse des données concernant son salaire hebdomadaire via l'interface .calculate_payroll(). L'exécution de cette interface peut différer selon le type de travailleur.
Doit lire: Questions d'entrevue Python
Conclusion
Ici, nous avons appris à créer différentes classes Python, à établir des relations entre elles et même à définir une hiérarchie de classes. Mais, l'héritage en Python ne se limite pas aux fonctionnalités mentionnées ici.
Certification avancée en apprentissage automatique et IA : IIT madras, l'un des meilleurs établissements d'enseignement de l'Inde, s'est associé à upGrad pour créer un cours avancé sur l'apprentissage automatique permettant aux individus d'avoir une connaissance complète de l'apprentissage automatique avec ce cours.
Si vous êtes curieux d'en savoir plus sur la science des données, consultez le programme Executive PG en science des données de IIIT-B & upGrad qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, un mentorat avec des experts de l'industrie, 1 -on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.
Pourquoi l'héritage est-il important en Python ?
L'héritage fait référence au processus de transmission des propriétés d'une classe parent à une classe enfant. Il s'agit d'un concept de programmation orientée objet (POO) et est important en Python. C'est parce que l'héritage permet la réutilisation du code, ce qui signifie qu'au lieu d'écrire le même code encore et encore, nous pouvons hériter des attributs dont nous avons besoin dans une classe enfant. Il est également facile à comprendre et à mettre en œuvre car il décrit une relation réelle entre les classes parent et enfant. Il a un caractère transitif. Étant donné que toutes les classes enfants héritent des propriétés de leurs parents, toutes les sous-classes utiliseront également les fonctionnalités de la classe parent.
L'héritage est-il nécessaire lors de l'apprentissage de Python ?
Oui, l'apprentissage de l'héritage est nécessaire lors de l'apprentissage de Python. Les applications python massives nécessitent une augmentation du nombre de programmeurs python sur le marché actuel. Cette augmentation a entraîné une augmentation du nombre de personnes apprenant Python. Le langage de programmation Python est riche en notions telles que l'héritage. L'héritage est l'un des concepts essentiels de ce langage de programmation orienté objet. Comme l'héritage permet la réutilisation du code, la lisibilité et la transition des propriétés, il est impératif de l'apprendre tout en apprenant Python. L'héritage aide à créer un code précis et efficace.
En Python, quels types d'héritage ne sont pas pris en charge ?
Python autorise toutes les formes d'héritage, y compris les héritages multiples, contrairement aux autres langages de programmation orientés objet. Il est possible de construire de nouvelles classes à partir de classes préexistantes en utilisant le concept d'héritage. Cela facilite la réutilisation du code. Les méthodes spécifiées dans la classe parent sont également utilisées dans la classe enfant. Alors que C++ permet également ce type d'héritage, il lui manque la méthodologie avancée et bien conçue de Python. Python propose même l'héritage hybride, ce qui nous permet d'implémenter de nombreux types d'héritage dans un seul morceau de code. Étant donné que la réutilisation du code est une force de l'héritage, elle est utile dans un large éventail d'applications lorsque vous travaillez avec Python.