位置: 编程技术 - 正文

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安装后怎么用)

  • 小微企业所得税优惠政策
  • 电商账务处理及收入成本如何确定?
  • 开票人和复核人收款人能是一个人吗
  • 个体户定额征收标准
  • 调减加计抵减额会计分录
  • 冲红的发票要拿回来吗
  • 预缴企业所得税分录
  • 资本成本与财务风险的区别
  • 以前年度的所得税要补缴怎么办
  • 视同销售计入销售费用能税前扣除吗
  • 母公司收取服务费请示
  • 计算企业所得税不得扣除的项目
  • 对赌协议赢了怎么样
  • 补提以前年度折旧
  • 资本公积转为实收资本会计等式
  • 外经证预缴附加税
  • 收到未税货款怎么入账
  • 出口退税销项大于进项,需要交税吗
  • 即期外汇交易有幅度限制吗
  • 赠送样品视同销售增值税该怎么做账务处理呢?
  • 政府转账捐赠怎么做分录
  • 去年多摊销的费用今年怎么做账务处理?
  • 材料成本和加工费含税吗
  • 政府补助怎么开票入账
  • 如何看待餐饮企业文化
  • 向员工发放用餐费的通知
  • 初级考试备考计划
  • 增值税纳税申报表怎么填
  • 投资电影分红款如何开具发票?
  • 如何增强无线网卡的接收能力
  • 产品作为样品账务处理
  • 微信转账记录怎么加回好友?
  • redhat5.6安装
  • 借条的标准格式 手写学生
  • PHP:mb_ereg_replace_callback()的用法_mbstring函数
  • 收到厂家商品的会计分录
  • mac睡眠后无法正常唤醒
  • 购买土地前期测量费怎么入账
  • php proc_open
  • 长期借款科目的期末余额反映尚未偿还的借款本金
  • 应交消费税影响当期损益吗
  • 发票备注栏可以写详见清单吗
  • 以物易物怎么写分录
  • 卡拉公路
  • stable Diffusion安装教程
  • 前端bs是什么
  • 出口退税企业待遇怎么样
  • 详细步骤怎么写
  • python27文件夹
  • reactjs.org
  • 实收资本认缴怎么做账,要做账吗
  • 固定资产分期付款会计处理?
  • sql2008降级2005
  • 当年发生亏损会影响所有者权益吗
  • 电费应收和实收怎么算
  • 2021劳动报酬收入个人所得税怎么算
  • 一般纳税人增值税减免政策2023
  • 办理三证合一多久能拿到
  • mysql的概念及作用
  • sql server 2019自定义安装教程
  • mysql 5.7启动
  • sql kill进程
  • xp更改dns
  • centos 安装
  • linux中字符设备有哪些
  • win7怎么添加播放设备
  • xp系统创建本地连接的方法
  • xp显示文件后缀怎么设置
  • 云存储服务怎么打开
  • redeonsoftware更新
  • linuxmain函数
  • js怎么理解
  • android@localhost#1
  • javascript的相关应用
  • Android性能优化的方面12个
  • 非贸付汇代扣代缴增值税可以抵扣吗
  • 爱山东怎样查询医保余额
  • 增值税税控开票软件
  • 12366的客服辛苦吗
  • 津补贴怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设