Python内置函数super()简介
1、超内建函数在面向对象程序设计中的应用让我们从一个代码开始:本文定义了一个名为people的父类、一个名为teacher的教师类和一个名为student的学生类来继承people类。根据这两个子类实例化了两个对象S1和T1。

2、现在问题来了。如有必要,我会更改人名,教师班和学生班的家长班。这样,从教师类、教师类和学生类继承的类以及他们调用的init方法的父类也需要修改。是不是太麻烦了?此时,您可以使用内置函数super()来执行此操作。要在Python解释器中查看帮助信息,请执行以下操作:

3、获得以下信息:

4、Super是一个内置函数。您可以通过添加括号来获取对象。父类的init方法可以由super()和“.”对象直接调用。当这个对象调用父类的in足毂忍珩it时,它实际上是在调用父类的binding方法,因此不需要在括号中添加self。相关推荐:Python视频教程修改后的代码如下:

5、这样,父类的名称就改变了,代码中继承的父类的init方法的名称就不需要修改了。

6、使用super()函数时,python将继续搜索MRO列表中的下一个类。只要每个重新定义的方法统一弋讥孜求使用super()并只调用一次,控制流最终将遍历整个MRO列表。每个方法只调用一次。所有用super调用的属性都是从MRO列表的当前位置找到的。通过查看MRO列表的顺序,可以看到子类的继承关系。要查看上述代码中教师子类的MRO列表,可以使用以下方法:

7、使用super可以避免使用多重继承时子类继承父类的顺序问题。当子类继承父类的数据和函数属性时,第一次执行是有效的。当后面的代码与前面的代码冲突时,后面的代码将覆盖前面的代码。如果不使用super,则需要自己解决继承顺序问题。使用super可以解决这个问题。