Maison >développement back-end >Tutoriel Python >Introduction aux fonctions Python : fonctions et exemples de super fonction

Introduction aux fonctions Python : fonctions et exemples de super fonction

WBOY
WBOYoriginal
2023-11-04 16:27:261092parcourir

Introduction aux fonctions Python : fonctions et exemples de super fonction

Introduction aux fonctions Python : fonctions et exemples de la super fonction

La fonction super() est une fonction intégrée couramment utilisée en Python, principalement utilisée pour appeler des méthodes de la classe parent (super classe). Utilisez la fonction super() pour appeler les méthodes qui ont été remplacées dans la classe parent de la sous-classe. Cet article présentera en détail les fonctions et les exemples de la super fonction, et fournira également des exemples de code spécifiques pour votre référence.

  1. Fonction de super fonction

En Python, nous avons souvent besoin de réécrire certaines méthodes de la classe parent dans la sous-classe. Dans ce cas, si nous voulons appeler la méthode de la classe parent d'origine dans la sous-classe, nous devons utiliser la fonction super(). L'utilisation de la fonction super() peut réaliser les fonctions suivantes :

(1) Appeler des méthodes dans la classe parent au lieu de les réécrire dans la sous-classe ;

(2) Éviter les problèmes infinis causés par la relation d'héritage de la sous-classe Problème de récursion ;

(3) Vous pouvez exécuter des méthodes qui ne sont pas définies dans la classe parent.

  1. Utilisation de la super fonction

La fonction super() a deux modes d'utilisation : l'une consiste à l'appeler directement, l'autre consiste à l'appeler avec deux paramètres.

(1) Appel direct

Lorsque vous appelez directement la fonction super(), vous devez spécifier la sous-classe et l'instance de sous-classe comme paramètres. Par exemple :

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

Dans le code ci-dessus, la classe Student remplace la méthode __init__ de la classe Person. En utilisant la fonction super(), nous pouvons facilement appeler la méthode __init__ de la classe parent, évitant ainsi la redondance du code et la possibilité d'erreurs.

(2) Appel avec deux paramètres

Si vous souhaitez appeler une méthode non constructeur (comme une méthode normale) de la classe parent, vous devez appeler la fonction super() avec deux paramètres. Par exemple :

class Person:
    def say_hello(self):
        print("Hello, I'm a person.")

class Student(Person):
    def say_hello(self):
        super(Student, self).say_hello()
        print("I'm a student.")

Dans le code ci-dessus, la classe Student remplace la méthode say_hello de la classe Person. Lorsque vous utilisez la fonction super(), vous devez spécifier deux paramètres : le premier paramètre est le nom de la sous-classe et le deuxième paramètre est l'instance de la sous-classe. De cette manière, les méthodes de la classe parent peuvent être appelées dans la sous-classe, évitant ainsi la possibilité de redondance de code et d'erreurs.

  1. Exemples de super fonction

Afin de mieux comprendre et maîtriser l'utilisation de la fonction super(), quelques exemples de code spécifiques sont fournis ci-dessous.

(1) Appelez la méthode __init__ de la classe parent

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

class Student(Person):
    def __init__(self, name, age, grade):
        super().__init__(name, age)
        self.grade = grade

    def get_info(self):
        print("Name: {} Age: {} Grade: {}".format(self.name, self.age, self.grade))

student = Student("Lucy", 18, "Grade 10")
student.get_info()

Dans cet exemple, nous définissons une classe Person et une classe Student. Dans la méthode __init__ de la classe Student, nous appelons la méthode __init__ de la classe parent Person. Cette fonction peut être facilement réalisée en utilisant la fonction super(). Enfin, les informations de l'étudiant sont affichées en appelant la méthode get_info.

(2) Appelez la méthode ordinaire de la classe parent

class Person:
    def say_hello(self):
        print("Hello, I'm a person.")

class Student(Person):
    def say_hello(self):
        super(Student, self).say_hello()
        print("I'm a student.")

student = Student()
student.say_hello()

Dans cet exemple, nous définissons une classe Person et une classe Student. Dans la classe Student, nous remplaçons la méthode say_hello de la classe Person et utilisons la fonction super() pour appeler la méthode say_hello de la classe parent Person. Enfin, le message de bienvenue de l'étudiant est généré en appelant la méthode say_hello. La fonction

  1. Résumé

super() est une fonction intégrée couramment utilisée en Python, principalement utilisée pour appeler des méthodes de classe parent. En utilisant la fonction super(), nous pouvons éviter la redondance du code et la possibilité d'erreurs. Lorsque l'on substitue les méthodes de la classe parent dans une sous-classe, l'utilisation de la fonction super() permet d'appeler plus facilement les méthodes de la classe parent. Dans le même temps, nous devons également noter que lors de l'utilisation de la fonction super(), nous devons spécifier les valeurs spécifiques des deux paramètres pour éviter les problèmes de récursion infinis causés par les relations d'héritage.

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