热点:

    Python内置函数super()简介:继承与重写的得力助手

      [   原创  ]   作者:
    收藏文章 暂无评论

    与您分享Python内置函数super()的使用技巧和经验,具体内容如下:

    1、 在面向对象编程中运用超内置函数,可从一段代码说起。本文创建了一个名为people的父类,以及继承自people的子类——teacher教师类和student学生类。随后基于这两个子类,实例化了两个对象S1和T1,分别代表学生和教师。

    2、 问题来了:如果需要修改人名、教师班以及学生班的家长班,那么从教师类、学生类继承的子类及其调用的父类初始化方法也需要跟着改动,这样会不会太繁琐?其实,这时可以使用内置函数 super() 来解决。若想在 Python 解释器中查看帮助信息,可按以下步骤操作:

    3、 获取以下资料:

    4、 `super()` 是一个内置函数,通过添加括号可获取一个代理对象。借助 `super()` 和 `.`,能够直接调用父类的 `__init__` 方法。当该对象调用父类的 `__init__` 时,实际上是在调用父类的绑定方法,因此无需在括号内传入 `self` 参数。相关推荐:Python视频教程。修改后的代码如下:

    5、 这样,更改父类名称后,代码中继承的父类初始化方法名称无需改动。

    6、 使用 `super()` 函数时,Python 会沿着方法解析顺序(MRO)继续查找下一个类。只要每个重写的方法都统一调用 `super()` 且仅调用一次,控制流最终会遍历整个 MRO 列表,确保每个方法只被执行一次。通过 `super()` 调用的属性均依据当前 MRO 列表位置进行查找。MRO 列表的顺序也体现了子类的继承层级关系。若想查看代码中教师子类的 MRO 列表,可通过特定方法实现。

    7、 使用super可以有效避免多重继承中子类因父类继承顺序而产生的问题。在子类继承父类的数据与函数属性时,首次执行的代码生效。若后续代码与之前存在冲突,后者的实现会覆盖前者。如果不借助super,需手动处理继承顺序问题,而super能自动解决此类冲突,确保正确的继承行为。

    soft.zol.com.cn true https://soft.zol.com.cn/1001/10012838.html report 1470 与您分享Python内置函数super()的使用技巧和经验,具体内容如下: 1、 在面向对象编程中运用超内置函数,可从一段代码说起。本文创建了一个名为people的父类,以及继承自people的子类——teacher教师类和student学生类。随后基于这两个子类,实例化了两个对象S1和T1,分...
    不喜欢(0) 点个赞(0)
    随时随地资讯查报价 就上ZOL手机客户端,点击或扫描二维码下载
    立即下载

    Superπ

    更新时间:2019年03月25日

    用户评分:6.4 | 14人点评

    软件类型:免费软件

    软件语言:简体中文

    软件资讯文章推荐

    Superπ
    • 更新时间:2019年03月25日
    • 软件大小:0.1MB
    • 软件分类:硬件检测
    • 语言种类:简体中文
    • 软件评级:14 人点评