您的位置 : 资讯 > 软件教程 > 五分钟掌握Python中super()函数的用法

五分钟掌握Python中super()函数的用法

来源:菜鸟下载 | 更新时间:2025-07-04

五分钟内与您分享阅读python中super()函数的经验与技巧,具体内容如下:1、 在 Python 的类继

五分钟内与您分享阅读python中super()函数的经验与技巧,具体内容如下:

五分钟掌握Python中super()函数的用法

1、 在 Python 的类继承结构中,当子类继承父类并重写方法时,若需要调用父类的同名方法,通常可以使用两种方式:super() 或直接使用父类名称。具体使用方法可参考以下代码示例:

五分钟掌握Python中super()函数的用法

2、 Base 类中定义了一个 move 方法,用于调整对象的位置。如果我们希望在子类中增加记录每次移动偏移量的功能,则可以通过重写 move 方法实现:先执行自定义逻辑(如记录偏移信息),然后调用父类原有的 move 方法完成实际位置变化,从而避免重复编写移动逻辑。例如,在上述示例中我们通过 super 调用了父类的方法,但是否也可以直接使用 Base 类名进行调用?

立即学习“Python免费学习笔记(深入)”;

五分钟掌握Python中super()函数的用法

3、 当 Base 类中的方法需要调用其父类的方法时,必须手动传入 self 参数。之前我们了解过,普通类方法的第一个参数默认是 self,当我们通过实例调用方法时,self 会自动传递。但如果使用类名来调用方法,则必须显式地传入当前对象作为第一个参数。那么这两种方式是否存在差异?答案是肯定的。为了更清楚理解它们之间的区别,我们先来看一下 super 的定义。

五分钟掌握Python中super()函数的用法

4、 可以看到,super 提供了四种调用形式:

5、 1. super():等价于 super(当前类名, self),这是 Python 3 中最推荐的方式。

6、 2. super(type):不绑定任何实例对象,适用于类方法或静态方法的场景。

7、 3. super(type, obj):绑定到指定的对象 obj,要求 obj 是 type 类型或其子类的实例。

8、 4. super(type, type2):绑定到类型 type2,要求 type2 必须是 type 的子类。

9、 这里主要讲解 super() 和 super(type, obj),因为这两个是最常使用的格式。在前面的例子中,super 的行为看起来和直接调用父类 Base 的方法相似。接下来再通过另一个例子加深理解。

五分钟掌握Python中super()函数的用法

10、 四个类中,为什么 Base.__init__ 被执行了两次?这是因为 Sub.__init__ 中同时调用了 Device1 和 Device2 的初始化函数。那是否可以让它只执行一次?如果仅调用 Device1.__init__,Base 是否会被正确初始化?结果只会调用一次 Base 初始化函数。

五分钟掌握Python中super()函数的用法

11、 因为缺少 name2 属性,并且 Device2 的构造函数 __init__ 没有被调用,导致 name2 未定义。如果此时将 Base 替换为 super,又会产生怎样的效果?这值得进一步研究。

五分钟掌握Python中super()函数的用法

菜鸟下载发布此文仅为传递信息,不代表菜鸟下载认同其观点或证实其描述。

展开
Python 3d
Python 3d
类型:体育竞技 运营状态:公测 语言:简体中文
闯关 方块 趣味
前往下载

相关文章

更多>>

热门游戏

更多>>

手机扫描此二维码,

在手机上查看此页面

关于本站 下载帮助 版权声明 网站地图

版权投诉请发邮件到 cn486com#outlook.com (把#改成@),我们会尽快处理

Copyright © 2019-2020 菜鸟下载(www.cn486.com).All Reserved | 备案号:湘ICP备2023003002号-8

本站资源均收集整理于互联网,其著作权归原作者所有,如有侵犯你的版权,请来信告知,我们将及时下架删除相应资源