位置: 编程技术 - 正文

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

  • 软件开发费税率17还是6
  • 金税开票软件怎么修改开票人
  • 企业纳税人是什么
  • 普票和增值税发票的区别
  • 股权资本成本包括什么
  • 赊销现金折扣分录
  • 进项税额可以在买东西吗
  • 外贸业务收境外人民币
  • 净利润为负数还要交所得税吗
  • 购买办公室电脑桌分录
  • 淘宝店注册公司流程
  • 个人抬头的通讯费可以做费用吗
  • 企业代开租金专票开什么项目好?
  • 退税勾选的发票账务处理
  • 农产品收购发票使用范围
  • 税收分类编码格式
  • 税号里的字母要大写还是小写
  • 企业开票代码是什么意思
  • 融资性售后回租和融资租赁的区别
  • 超市的商品进销表怎么做
  • 个人税收起征点调整
  • 受委托研发企业可以享受研发支出吗
  • 苹果14promax价格
  • 合同应收账款减免
  • 营改增后销售不动产税率变化时间
  • 留存收益净利润之间关系
  • php 字符串 数组
  • 最新版本金铲铲强势阵容
  • win7界面旋转
  • 激光点图片
  • html中a标签怎么引用图片
  • vue3.0用法
  • php session用法
  • 人工智能agi
  • php类和对象的关系
  • 无形资产法
  • phpcms使用教程
  • 金税第一次使用怎么用
  • 老板的财务
  • 公司员工餐费会计分录
  • BootStrap--selectpicker的使用
  • 清算的基本流程
  • 累计折旧在资产负债表中填在哪里
  • 应税项目和非应税项目分类
  • 汇算清缴利润调增70万会预警吗
  • 企业报税表格填写
  • 小规模纳税人税收政策2023
  • 息税前利润变动率的计算公式
  • 小规模纳税人免税政策2022
  • 公司购买手表可以做费用吗?
  • 跨年银行回单怎么入账
  • 办外经证需要交税吗
  • 事业单位如何计算退休工资
  • 物业公司收到维修基金会计分录
  • 开建筑工程公司赚钱吗
  • 收购分公司有什么要求
  • 无发票入账违反什么规定
  • 哪些商业保险可以抵扣个税
  • 应收账款周转率范围多少合适
  • 什么服务费发票可以免税的
  • 什么情况下增值税发票不能抵扣
  • 值得收藏的一元硬币
  • windows server 2008 r2安装教程
  • Ubuntu中Source Insight的使用详解
  • windows 专业版10安装后文件会丢失嘛
  • 深入解析linux内核
  • 判断自己的脸型
  • macos终端命令
  • win7系统无法安装谷歌怎么办
  • win10 64位系统提示0x80070643错误代码的解决方法
  • win7开始菜单没有搜索框
  • 批处理程序教程
  • w32tm命令
  • nodejs readfile
  • js混杂模式
  • js在div中添加div
  • Mac Error Create Android Project - “Errors running builder 'Android Resource Manager' on project”
  • 湖南省税务局网站2024公务员招聘
  • 个人的房产出租征收什么税
  • 消费税是含税价
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设