Qu'est-ce que la surcharge de constructeur en Python ? Avec des exemples
Publié: 2023-01-29Python est un langage de programmation convivial qui peut être facilement maîtrisé par les débutants. Ce langage de programmation offre un large éventail de support communautaire qui aide les programmeurs à explorer plusieurs façons d'implémenter le code. Les bibliothèques standard de Python et les modules fournis par le forum de la communauté ont permis des possibilités infinies, y compris le développement Web et Internet, les interfaces graphiques de bureau, l'accès aux bases de données, l'éducation, les applications scientifiques et numériques, la programmation réseau, le développement de logiciels et les programmes pour développer des jeux. Ce langage open source est développé sous licence approuvée par l'OSI. Par conséquent, il peut être utilisé et distribué gratuitement. La Python Software Foundation administre la licence de Python.
Table des matières
Constructeurs en Python :
La fonction principale d'un constructeur Python est d'instancier les objets. Au moment de la création de l'objet, les membres de données de classe reçoivent des valeurs ou sont initialisés à l'aide de constructeurs. La fonction _init_ est un constructeur en Python. Il est souvent appelé lorsqu'un nouvel objet est créé.
La syntaxe pour la déclaration d'un constructeur est
Def _init_(self):
# corps du constructeur
Il existe deux types de constructeurs en Python. Elles sont:
- Constructeur par défaut
- Constructeur paramétré
Constructeur par défaut :
C'est un constructeur simple et n'accepte aucun paramètre d'entrée. La définition des constructeurs par défaut n'a qu'un seul argument qui fait référence à l'instance en cours de construction.
Constructeur paramétré :
Comme leur nom l'indique, ces constructeurs ont des paramètres. Le premier argument de ce type de constructeurs fait référence à l'instance qui est construite et elle est connue sous le nom de "self". Tous les autres arguments requis sont spécifiés par le programmeur en tant qu'entrées.
Découvrez les cours de science des données d'upGrad
Surcharge de constructeur en Python :
La surcharge de construction fait référence à un scénario d'incorporation d'un plus grand nombre de constructeurs avec une liste distincte de paramètres, de sorte que chaque constructeur est utilisé pour accomplir différentes tâches dans le programme. Par exemple, il existe quatre types de constructeurs dans la classe Vector.
Python ne prend pas explicitement en charge plusieurs constructeurs. Cependant, l'utilisation de plusieurs constructeurs en Python peut être réalisée de plusieurs manières. Si un programmeur écrit plusieurs méthodes _init_ pour la même classe, la fonction _init_ la plus récemment écrite écrase tous les autres constructeurs.
Pourquoi plusieurs constructeurs sont-ils requis en Python ?
Lorsque l'utilisateur a besoin d'effectuer différentes actions pour instancier une classe, l'exigence de plusieurs constructeurs apparaît. Ceci est utile lorsque différentes actions doivent être effectuées par la classe sur différents paramètres. Les constructeurs de classe en Python sont structurés pour présenter le polymorphisme de trois manières différentes, comme indiqué ci-dessous :
- Surcharge de constructeur basée sur des arguments
- Appel des méthodes _init_
- Utilisation du décorateur @classmethod
Explorez nos cours populaires en science des données
Programme exécutif de troisième cycle en science des données de l'IIITB | Programme de certificat professionnel en science des données pour la prise de décision commerciale | Master of Science en science des données de l'Université de l'Arizona |
Programme de certificat avancé en science des données de l'IIITB | Programme de certificat professionnel en science des données et analyse commerciale de l'Université du Maryland | Cours de science des données |
Lisez nos articles populaires sur la science des données
Cheminement de carrière en science des données : un guide de carrière complet | Croissance de carrière en science des données : l'avenir du travail est là | Pourquoi la science des données est-elle importante ? 8 façons dont la science des données apporte de la valeur à l'entreprise |
Pertinence de la science des données pour les managers | La feuille de triche ultime de la science des données que tous les scientifiques des données devraient avoir | Top 6 des raisons pour lesquelles vous devriez devenir Data Scientist |
Une journée dans la vie d'un data scientist : que font-ils ? | Mythe brisé : la science des données n'a pas besoin de codage | Business Intelligence vs Data Science : quelles sont les différences ? |
Surcharge de constructeur en Python basée sur des arguments :
Dans cette méthode, les constructeurs sont surchargés en effectuant les actions nécessaires après que les conditions des arguments passés ont été vérifiées. Prenons un exemple de passage d'un paramètre à la classe Sample.
- Le carré du nombre est la réponse si le paramètre d'entrée est un int.
- Si la longueur du paramètre est supérieure à 1, la somme des arguments est affichée comme réponse.
Méthodes d'appel avec _init_ :
Lorsqu'une instance d'une classe est créée, la classe peut avoir un seul constructeur _init_ qui peut effectuer n'importe quelle tâche assignée. Ce constructeur peut être modifié pour gérer différentes fonctions et effectuer différentes tâches en fonction du paramètre passé. Considérons un exemple où les calculs suivants sont effectués.
- Si deux arguments sont passés, l'expression est évaluée comme x = a 2 – b 2
- Si trois arguments sont passés, alors l'expression évaluée est y = a 2 + b 2 – c
- Si le nombre d'arguments passés dépasse trois, additionnez les carrés de ces nombres et divisez la somme par l'argument avec la valeur la plus élevée.
Si vous souhaitez en savoir plus sur le remplacement de méthode en Python, nous vous suggérons de suivre le Master of Science in Data Science de 18 mois . upGrad propose ce cours de l'IIIT Bangalore et de l'Université John Moore de Liverpool. Le cours vous enseigne des compétences telles que les statistiques, l'analyse prédictive à l'aide de Python, l'apprentissage automatique, la visualisation de données, l'analyse de données volumineuses, etc. Les étudiants ayant une solide connaissance des concepts de Python sont bien placés pour aborder des sujets tels que l'apprentissage en profondeur, le traitement du langage naturel, l'analyse commerciale et l'ingénierie des données.