博客
关于我
python中的super函数
阅读量:588 次
发布时间:2019-03-11

本文共 756 字,大约阅读时间需要 2 分钟。

Python中的super函数是一个强大的工具,用于在继承类时调用父类的方法或属性。虽然它在编程中并不常用,但理解它的使用方式对于任何一个Python开发者都是非常有必要的。

super()函数的主要作用是为了在子类中访问父类的特定方法或属性。当子类覆盖了父类某些方法时,super()可以帮助开发者明确地调用父类的原始方法,而不是通过子类的方法来实现。此外,super()还可以在类继承链的深度中调(ceive父类以外的多个ancestor类的方法。

在实际使用中,super()的正确使用尤为重要。例如,在Python中,当我们定义一个子类并重写了一个方法时,通常可以通过super().method()来调用父类的方法。这样可以确保代码的可维护性和可扩展性。

让我们通过一个简单的示例来理解super()的功能:

class A:    def add(self, x):        y = x + 1        print(y)

class B(A)继承了class A,并重写了add方法:

class B(A):    def add(self, x):        super().add(x)

当我们创建一个B对象并调用add方法时:

b = B()b.add(2)

结果会是:

3

在这个示例中,super().add(x)确实调用了父类A的add方法,从而正确地计算了x+1的值。

通过这个简单的例子我们可以看出,super()函数在类继承中起到了直接调用父类方法的作用。这对于复杂的继承关系和多层继承allisance hierarchy特别有用。

总的来说,super()函数是一个非常强大的工具,尽管它的使用场景相对较少,但掌握它对于写出高效且可靠的Python代码至关重要。

转载地址:http://kdctz.baihongyu.com/

你可能感兴趣的文章
opencart出现no such file or dictionary
查看>>
opencv Mat push_back
查看>>
opencv waitKey() 函数理解及应用
查看>>
OpenCV 中的图像转换
查看>>
OpenCV 在 Linux 上的 python 与 anaconda 无法正常工作.收到未实现 cv2.imshow() 的错误
查看>>
Opencv 完美配置攻略 2014 (Win8.1 + Opencv 2.4.8 + VS 2013)上
查看>>
opencv 模板匹配, 已解决模板过大程序不工作的bug
查看>>
opencv&Python——多种边缘检测
查看>>
opencv&python——高通滤波器和低通滤波器
查看>>
OpenCV-Python接口、cv和cv2的性能比较
查看>>
opencv12-图像金字塔
查看>>
opencv21-像素重映射
查看>>
opencv26-模板匹配
查看>>
opencv27-轮廓发现
查看>>
opencv29-轮廓周围绘制矩形框和圆形框
查看>>
OpenCV3 install tutorial for Mac
查看>>
opencv3-Mat对象
查看>>
opencv30-图像矩
查看>>
opencv32-基于距离变换和分水岭的图像分割
查看>>
opencv4-图像操作
查看>>