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.
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.
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
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.")
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.
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()
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()
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.
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!