位置: 编程技术 - 正文

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

  • 税控盘服务费全额抵扣分录
  • 国家税收与地方税收
  • 消费税退回退税流程
  • 劳保用品销售
  • 工资中代扣款是什么
  • 废品销售是否缴纳增值税
  • 印花税技术服务合同按什么交
  • 一般纳税人税收优惠政策有哪些2023年
  • 消防检测需要资质吗?
  • 企业所得税季报可以更正吗
  • 工伤事故赔偿项目表
  • 虚开增值税普通罪量刑标准
  • 无形资产换出
  • 第一季度盈利第二季度亏损全年盈利
  • 收社团费用怎么说
  • 工程类什么情况下可以三方询价
  • 分公司不独立核算需要开银行账户吗
  • 会计费用涉及哪些科目?
  • 公司开一般户弊端
  • 应发工资包含
  • 公司承兑汇票怎么兑现
  • 华为鸿蒙系统如何刷机
  • 出口报关单有什么用
  • 如何整理流水账目
  • 在win7系统中如何让电脑恢复出厂设置方法
  • 用php写个简单的编程
  • codelite怎么进行编译
  • 应收票据其他应收款都需要提取坏账准备么
  • 支付产品运输费怎么入账
  • php中\n
  • 公司购买承兑
  • 已开发票作废和空白发票作废有什么不一样?
  • 个体户经营餐饮怎么申报
  • 修改Dede默认投票代码 防止Request Error错误
  • 股权转让 收益
  • 售后回购确认收入的时间
  • mysql 分片优缺点
  • 多用途卡的监管机构是
  • 增值税防伪税控系统
  • 已核准未登记名称我可以注册吗
  • 开劳务发票需要的资料有哪些?
  • 发票上的印记能去掉吗
  • 合伙企业费用汇总表
  • 汇算清缴需要传票么
  • 个体工商户生产经营所得税优惠政策
  • 购买汽车轮胎的注意事项
  • 生产成本制造费用结转
  • 在会计中,结转材料实际采购成本时什么意思
  • 赠送样品视同销售增值税该怎么做账务处理呢?
  • 房屋租赁合同怎么写对房东有利
  • 实收资本可以做现金吗
  • 加强备案管理
  • 应交税费减免税额在借方还是贷方
  • 已认证抵扣增值税怎么撤回申报
  • 餐饮企业老板
  • 应计入产品成本的停工损失是
  • 为什么对子公司控股比例降到49%
  • 公对私转账有没有手续费
  • 库存商品销售后怎么做账
  • windows7字体安装方法
  • win7系统开启vt
  • centos安装vim命令
  • centos发送http请求
  • win10英文版系统怎么改成中文
  • 缺少系统操作怎么办
  • js中onunload
  • javascript ts
  • node.js使用教程
  • javascript对象的创建方法
  • ip安全策略设置报错
  • javascript编程语言
  • unity yield
  • jQuery实现ajax的叠加和停止(终止ajax请求)
  • 重庆市电子税务局官网登录入口注册
  • 建筑施工税务处理
  • 广东省地方税务局征收社会保险费欠费管理暂行办法
  • 外贸公司委托加工的账务怎么处理
  • 北京市税务协会领导
  • 水利基金按什么计提
  • 国家税务局申报系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设