全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

总结python实现父类调用两种方法的不同

python中有两种方法可以调用父类的方法:

super(Child, self).method(args)

 Parent.method(self, args)

我用其中的一种报了如下错误:

找不到 classobj。当我把调用改为 super(B, self).f(name) 就能正确运行,且结果正确。

分析错误

因为基类没有继承 object , 在python中,一个可以这样创建:

class A:
 pass

也可以这样创建:

class A(object):
 pass

这两者的区别就是:

这是老式类(前者)和新式类(后者)的区别。区别可以参考:https://docs.python.org/release/2.5.2/ref/node33.html

python3已经把旧类型去掉了,也就是说已经隐式继承了object,所以,python3中写不写继承object都是没有区别的

两种调用的区别

Parent.__init__(self) super(Child, self).__init__() 的区别是什么?

super 理解成父类也是理所当然,python里其实指的是 MRO 中的下一个类!

super其实干了这件事,看这个答案:

def super(cls, inst):
 mro = inst.__class__.mro() # Always the most derived class
 return mro[mro.index(cls) + 1]

MRO 全称 Method Resolution Order,它代表了类继承的顺序。

super 是用来解决多重继承问题的,假设B C D 都是直接继承class A

class E(B, C, D):
 def __init__(self):
  # code...

如果E类的构造函数使用 super(E, self).__init__() 时,A类的构造函数会被执行一次,而用另一种方法,A类的构造函数会被执行多次。

在 MRO 中,基类永远出现在派生类后面,如果有多个基类,基类的相对顺序保持不变。

总结

个人觉得,复杂的继承结构是设计中不良的设计,当继承结构清晰后,两个方法其实就没什么区别了。以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助。


# python调用父类方法  # python  # 调用父类  # python调用父类的方法  # Python 继承  # 重写  # super()调用父类方法操作示例  # python接口调用已训练好的caffe模型测试分类方法  # 对python 调用类属性的方法详解  # 在Python 中同一个类两个函数间变量的调用方法  # Python 从一个文件中调用另一个文件的类方法  # python实现类之间的方法互相调用  # Python实现子类调用父类的方法  # 调用其他python脚本文件里面的类和方法过程解析  # 都是  # 两种  # 这是  # 就能  # 多个  # 找不到  # 出现在  # 中有  # 我把  # 这件事  # 就没  # 我用  # 掉了  # 种方法  # 这篇文章  # 干了  # 指的是  # 报了  # 不写  # 理所当然 


相关文章: 如何快速搭建高效简练网站?  再谈Python中的字符串与字符编码(推荐)  一键制作网站软件下载安装,一键自动采集网页文档制作步骤?  智能起名网站制作软件有哪些,制作logo的软件?  建站之星如何通过成品分离优化网站效率?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  建站之星安装模板失败:服务器环境不兼容?  公司网站制作价格怎么算,公司办个官网需要多少钱?  如何选择香港主机高效搭建外贸独立站?  可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?  建站之星如何取消后台验证码生成?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  建站VPS推荐:2025年高性能服务器配置指南  如何在万网自助建站中设置域名及备案?  建站主机选哪种环境更利于SEO优化?  常州自助建站费用包含哪些项目?  如何用PHP工具快速搭建高效网站?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  建站主机解析:虚拟主机配置与服务器选择指南  官网建站费用明细查询_企业建站套餐价格及收费标准指南  制作网站的基本流程,设计网站的软件是什么?  北京专业网站制作设计师招聘,北京白云观官方网站?  如何通过WDCP绑定主域名及创建子域名站点?  建站主机与虚拟主机有何区别?如何选择最优方案?  ,如何利用word制作宣传手册?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  建站主机如何选?性能与价格怎样平衡?  如何在宝塔面板中创建新站点?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  深圳企业网站制作设计,在深圳如何网上全流程注册公司?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  如何快速搭建虚拟主机网站?新手必看指南  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  杭州银行网站设计制作流程,杭州银行怎么开通认证方式?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  宁波免费建站如何选择可靠模板与平台?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  如何用y主机助手快速搭建网站?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?  如何通过VPS建站无需域名直接访问?  香港服务器WordPress建站指南:SEO优化与高效部署策略  天津个人网站制作公司,天津网约车驾驶员从业资格证官网?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何选择建站程序?包含哪些必备功能与类型?  如何确保FTP站点访问权限与数据传输安全?  如何在阿里云高效完成企业建站全流程?  高防服务器:AI智能防御DDoS攻击与数据安全保障 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。