鱼C论坛

 找回密码
 立即注册
查看: 1731|回复: 6

关于super的问题

[复制链接]
发表于 2020-1-30 15:40:15 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
你好:
       一般在子类中我们都是使用super().__init__()的方法来调用父类的初始化,super()返回的是一个super类的对象,那么请问一下这里的__init__是super对象的一个函数,还是父类的__init__函数?为什么?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-1-30 16:08:36 | 显示全部楼层
__init__() 是父类的 __init__ 方法,因为 super() 获取对象的父类。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-30 19:42:24 | 显示全部楼层
zltzlt 发表于 2020-1-30 16:08
__init__() 是父类的 __init__ 方法,因为 super() 获取对象的父类。

你好:
     我用print(type(super()))打印的结果是<class 'super'>,并不是父类的对象呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-30 20:02:37 | 显示全部楼层
zjmttt 发表于 2020-1-30 19:42
你好:
     我用print(type(super()))打印的结果是,并不是父类的对象呢

super() 本身是 super() 类,但是可以通过 super() 调用父类的方法。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-30 20:58:24 | 显示全部楼层
zltzlt 发表于 2020-1-30 20:02
super() 本身是 super() 类,但是可以通过 super() 调用父类的方法。

你好:
      能否说的详细点呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-1-30 20:59:26 | 显示全部楼层
zjmttt 发表于 2020-1-30 20:58
你好:
      能否说的详细点呢?

其实执行 super() 得到的是一个 super 类,但是可以通过 super().父类方法名() 的格式调用父类的方法。

这一点知道就行了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-1-31 10:33:51 | 显示全部楼层
zltzlt 发表于 2020-1-30 20:59
其实执行 super() 得到的是一个 super 类,但是可以通过 super().父类方法名() 的格式调用父类的方法。
...

能否说一下相关的原理呢,怎么做到这一点的。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-22 01:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表