位置: 编程技术 - 正文

python类中super()和__init__()的区别(python类中的函数必须加self吗)

编辑:rootadmin

推荐整理分享python类中super()和__init__()的区别(python类中的函数必须加self吗),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python类中包含一个特殊的变量,它可以访问类的成员,python类中包含一个特殊的变量,它可以访问类的成员,python类中包含一个特殊的变量,它可以访问类的成员,python类中定义全局变量,python类中定义全局变量,python类中的self代表什么,python类中的self代表什么,python类中的self代表什么,内容如对您有帮助,希望把文章链接给更多的朋友!

单继承时super()和__init__()实现的功能是类似的

输出结果:

区别是使用super()继承时不用显式引用基类。

super()只能用于新式类中

把基类改为旧式类,即不继承任何基类

执行时,在初始化b时就会报错:

super不是父类,而是继承顺序的下一个类

在多重继承时会涉及继承顺序,super()相当于返回继承顺序的下一个类,而不是父类,类似于这样的功能:

mro()用来获得类的继承顺序。

例如:

输出结果如下:

supder和父类没有关联,因此执行顺序是A —> B—>—>Base

python类中super()和__init__()的区别(python类中的函数必须加self吗)

执行过程相当于:初始化childC()时,先会去调用childA的构造方法中的 super(childA, self).__init__(), super(childA, self)返回当前类的继承顺序中childA后的一个类childB;然后再执行childB().__init()__,这样顺序执行下去。

在多重继承里,如果把childA()中的 super(childA, self).__init__() 换成Base.__init__(self),在执行时,继承childA后就会直接跳到Base类里,而略过了childB:

从super()方法可以看出,super()的第一个参数可以是继承链中任意一个类的名字,

如果是本身就会依次继承下一个类;

如果是继承链里之前的类便会无限递归下去;

如果是继承链里之后的类便会忽略继承链汇总本身和传入类之间的类;

比如将childA()中的super改为:super(childC, self).init(),程序就会无限递归下去。

如:

super()可以避免重复调用

如果childA基础Base, childB继承childA和Base,如果childB需要调用Base的__init__()方法时,就会导致__init__()被执行两次:

Base的__init__()方法被执行了两次

使用super()是可避免重复调用

以上所述是小编给大家介绍的python类中super()和__init__()的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

Python首次安装后运行报错(0xcb)的解决方法 错误提示如下:其实这是一个挺常见的系统报错,缺乏VC++库。我安装的是python3.5.2,这个版本需要的vc版本是的了,下载:MicrosoftVisualC++安装完后

Python做文本按行去重的实现方法 文本:每行在promotion后面包含一些数字,如果这些数字是相同的,则认为是相同的行,对于相同的行,只保留一行。思路:根据字典和字符串切割。建

windows下ipython的安装与使用详解 ipython的安装ipython可以直接使用pipinstallipython安装,如果安装失败按如下步骤手动进行安装所需文件下载:链接:

标签: python类中的函数必须加self吗

本文链接地址:https://www.jiuchutong.com/biancheng/384432.html 转载请保留说明!

上一篇:Python 序列的方法总结(python中序列)

下一篇:Python首次安装后运行报错(0xc000007b)的解决方法(python安装后怎么用)

  • 企业购车发票怎么查询
  • 材料费发票税点
  • 工业企业结转成本表格模板
  • 企业降低存货成本的途径和方法
  • 提供给员工宿舍租赁 入账
  • 提供劳务收取现金会计分录
  • 开出转账支票怎么入账
  • 投资公司收回投资款
  • 法律责任的具体内容
  • 小微企业季度超过45万如何填申报表
  • 公司无偿使用个人车辆,个人需要缴纳税款吗
  • 城市创建税务人在行动
  • 一般纳税人房租没有发票怎么办
  • 旅游业相关行业
  • 应交增值税会计科目
  • 上个月开的发票退回怎么处理?
  • 长期股权投资采用成本法核算,被投资单位实现的净利润
  • 一般纳税人企业所得税政策最新2023
  • 人力资源部报销购买办公家具款
  • 城市维护建设税属于什么税种
  • 以前的纳税申报表还能打印吗
  • 金税盘发票显示不出确认
  • 网络销售平台优势有哪些
  • 生产车间领用材料45000元,投入生产
  • 出口退税申请流程
  • 去年的成本发票怎么做账
  • php的使用
  • php访问统计
  • 厂商退货款差额怎么算
  • 存货的毁损通过什么科目核算
  • islp2sta.exe - islp2sta是什么进程 有什么作用
  • 分配利润的会计科目
  • 外商投资工业企业有哪些
  • 单位延缓缴纳社保员工可以要求赔偿吗
  • 搭建自己的php框架
  • symfony框架经验总结
  • 银行承兑汇票的付款人是谁?
  • php模板引擎执行时间
  • 教你一行代码
  • 因质量问题免费赔偿
  • 企业购进的商品是什么
  • framework在哪里打开
  • 微信开发怎么实现
  • vue 可拖拽
  • php curl_init
  • hive.
  • 往来款怎么做账
  • 代发工资范围
  • mysql主从同步的优点
  • 纳税减免申报
  • 利息收入的会计分录
  • 增值税为什么要结转
  • 辅助生产车间的制造费用不通过制造费用核算
  • 单位经办人给员工发工资
  • 一般纳税人会计分录
  • 独立核算和非独立核算哪个好
  • 分期付款购买商品如何定价
  • 营业外收入核算的内容有
  • 酒店酒水成本核算表
  • 银行扣掉的手续费怎么算
  • 食堂计入公务接待费
  • 失控发票进项税转出企业无法承担所得税怎么办
  • 企业的固定资产由于技术进步等原因
  • 购入旧的固定资产还能一次性抵扣吗
  • mysql多字段排序原理
  • 怎样让windows media player播放mkv文件
  • ubuntu的root
  • 休眠后网络断开
  • js设计模式书
  • time(0)函数
  • Node.js中的全局对象有
  • android怎么真机调试
  • vue 分页 实现
  • unity ctrl
  • javascript学习指南
  • android基础知识总结
  • 税务局属于什么行业类别
  • 所得税调增调减搞不清
  • 公司购买车辆是什么费用
  • 契税为什么要补贴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设