Maison  >  Article  >  développement back-end  >  Quelles sont les utilisations des méthodes super() et __init__() en python

Quelles sont les utilisations des méthodes super() et __init__() en python

silencement
silencementoriginal
2019-05-23 18:22:487547parcourir

Les fonctions des méthodes super() et __init__() en python : la méthode __init__() est utilisée pour créer des variables d'instance d'objets, et la méthode super() est utilisée pour appeler les méthodes de la classe parent.

Quelles sont les utilisations des méthodes super() et __init__() en python

__init__() est généralement utilisé pour créer des variables d'instance d'objets ou pour des opérations ponctuelles. super() est utilisé pour appeler la méthode de la classe parent et peut être utilisé pour résoudre le problème de l'héritage multiple. En héritage simple, super() et __init__() ont des fonctions similaires.

(Tutoriel recommandé : Tutoriel vidéo Python )

Différence principale :

L'utilisation de l'héritage super() ne nécessite pas de référence explicite au classe de base , qui facilite la maintenance lorsque la classe parent change ;

super() ne peut être utilisé que dans les classes de nouveau style et doit hériter de l'objet objet. Dans le cas d'un héritage multiple, l'ordre d'héritage sera impliqué. L'appel direct de la méthode de la classe parent en utilisant le nom de la classe entraînera des problèmes tels que l'ordre de recherche et les appels répétés. super() renvoie la classe suivante dans la séquence d'héritage, pas la classe parent.

Les fonctions implémentées par super() et __init__() en héritage simple sont similaires

Quelles sont les utilisations des méthodes super() et __init__() en python

Résultat :

Quelles sont les utilisations des méthodes super() et __init__() en python

La différence est que vous n'avez pas besoin de référencer explicitement la classe de base lorsque vous utilisez l'héritage super().

Super n'est pas la classe parent, mais la classe suivante dans la séquence d'héritage. Dans le cas d'un héritage multiple, l'ordre d'héritage est impliqué. super() équivaut à renvoyer la classe suivante dans l'ordre d'héritage, pas la classe parent

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn