博客
关于我
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/

你可能感兴趣的文章
Optional用法与争议点
查看>>
Optional类:避免NullPointerException
查看>>
Optional讲解
查看>>
ORA-00923: 未找到要求的 FROM 关键字
查看>>
ORA-00932: inconsistent datatypes: expected - got NCLOB【ORA-00932: 数据类型不一致: 应为 -, 但却获得 NCLOB 】【解决办法】
查看>>
ORA-00942 表或视图不存在
查看>>
ORA-01034: ORACLE not available
查看>>
ORA-01152: 文件 1 没有从过旧的备份中还原
查看>>
ORA-01207:文件比控制文件更新 - 旧的控制文件
查看>>
ORA-01795: 列表中的最大表达式数为 1000
查看>>
ORA-06575: 程序包或函数 NO_VM_DROP_PROC 处于无效状态
查看>>
ORA-08102的错误
查看>>
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor异常
查看>>
ORA-12514: TNS:listener does not currently know of service问题原因
查看>>
ora-12541:tns:no listener
查看>>
【docker知识】联合文件系统(unionFS)原理
查看>>
ORACEL学习--理解over()函数
查看>>
ORAchk-数据库健康检查
查看>>
oracle 10g crs命令,Oracle 10g CRS安装问题解决一例
查看>>
Oracle 10g ORA-01034: ORACLE not available 错误
查看>>