Home > Backend Development > Python Tutorial > Introduction to Python functions: functions and examples of super function

Introduction to Python functions: functions and examples of super function

WBOY
Release: 2023-11-04 16:27:26
Original
1068 people have browsed it

Introduction to Python functions: functions and examples of super function

Python function introduction: functions and examples of the super function

The super() function is a commonly used built-in function in Python, mainly used to call the parent class (super class )Methods. Use the super() function to call methods that have been overridden in the parent class in the subclass. This article will introduce the functions and examples of the super function in detail, and also provide specific code examples for your reference.

  1. Function of super function

In Python, we often need to rewrite some methods of the parent class in the subclass. In this case, if we want to call the original parent class method in the subclass, we need to use the super() function. Using the super() function can achieve the following functions:

(1) Call methods in the parent class instead of rewriting them in the subclass;

(2) You can avoid Infinite recursion problem caused by the inheritance relationship of subclasses;

(3) Methods not defined in the parent class can be executed.

  1. Usage of super function

The super() function can be used in two ways: one is to call it directly, and the other is to call it with two parameters.

(1) Direct call

When calling the super() function directly, you need to specify the subclass and subclass instance as parameters. For example:

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
Copy after login

In the above code, the Student class overrides the __init__ method of the Person class. By using the super() function, we can easily call the __init__ method of the parent class, thereby avoiding code redundancy and the possibility of errors.

(2) Use two parameters to call

If you want to call a non-constructor method (such as a normal method) of the parent class, you need to use two parameters to call super( )function. For example:

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.")
Copy after login

In the above code, the Student class overrides the say_hello method of the Person class. When using the super() function, you need to specify two parameters: the first parameter is the name of the subclass, and the second parameter is the subclass instance. In this way, the methods of the parent class can be called in the subclass, thus avoiding the possibility of code redundancy and errors.

  1. Examples of super function

In order to better understand and master the usage of the super() function, some specific code examples are provided below.

(1) Call the __init__ method of the parent class

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()
Copy after login

In this example, we define a Person class and a Student class. In the __init__ method of the Student class, we call the __init__ method of the parent class Person. This function can be easily achieved using the super() function. Finally, the student's information is output by calling the get_info method.

(2) Call the ordinary method of the parent class

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()
Copy after login

In this example, we define a Person class and a Student class. In the Student class, we override the say_hello method of the Person class and use the super() function to call the say_hello method of the parent class Person. Finally, the student's greeting is output by calling the say_hello method.

  1. Summary

The super() function is a commonly used built-in function in Python, mainly used to call parent class methods. By using the super() function, we can avoid code redundancy and the possibility of errors. When we override the parent class's methods in a subclass, using the super() function allows us to call the parent class's methods more easily. At the same time, we should also note that when using the super() function, we need to specify the specific values ​​of the two parameters to avoid infinite recursion problems caused by inheritance relationships.

The above is the detailed content of Introduction to Python functions: functions and examples of super function. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template