位置: 编程技术 - 正文

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

  • 用友 项目核算
  • 免征增值税的个体户个税
  • 固定资产账务处理实操
  • 开了发票不做收入的账务处理
  • 培训费计入办公会计科目吗?
  • 税控设备抵减增值税会计处理
  • 依法确定的其他扣除项目包括
  • 城建税的征税范围是什么
  • 结构性存款质押 叫停
  • 如何理解递延所得税资产和负债计算
  • 0退税产品怎么征税
  • 污泥处置费用怎么开票
  • 税务局代开专用发票要缴纳城建税吗?
  • 个人缴纳工会费可以在工资里面扣交吗
  • 跨区经营的税务政策
  • 公司购买电视
  • 总公司签订合同发票开具给分公司是否可以抵扣
  • 地方教育附加什么时候交
  • 出售已使用五年的住房有税收优惠吗?
  • 商誉减值测试的方法有哪些
  • 支付国外佣金代扣代缴企业所得税怎样记账
  • 公司注销时帐面清算
  • 鸿蒙工具箱使用视频
  • u盘装系统?
  • amr文件下载
  • vmware download
  • linux中free命令详解
  • win10待机屏幕图片设置
  • 一般纳税人企业所得税税率多少
  • php获取中文字符串长度
  • 自定义修改器
  • 如何理解什么是社会制度
  • vue的安装命令
  • token过期处理
  • iframe vh
  • c++ 每日十问3-处理数据
  • 餐厅的餐具怎么摆
  • 工会经费是如何计提的
  • 利用php判断文件是否存在
  • mysqlmha高可用
  • 房屋租赁费属于什么税收分类编码
  • 快递明细单
  • 所得税申报表营业成本包括管理费用吗
  • 手写发票可以报维修费吗
  • 保洁公司的税率是多少
  • 百旺金赋怎么开红字发票
  • 报关单保费率怎么填
  • 对公账户余额和可用余额不一样
  • 什么是企业汇算清缴年度
  • 申请制作广告牌的申请
  • 不征税收入与免税收入的区别是什么
  • 辞退补偿的账务处理
  • 一般纳税人进项票是普票可以抵扣吗
  • 股东退股取现怎么处理
  • 押金为什么要一个月才退
  • 固定资产发票怎么处理
  • 进项票是服务费怎么做会计分录
  • 个人独资企业要报税吗
  • 加入黑名单后对方发信息显示什么
  • win7硬盘设置在哪里设置
  • win10怎么查看windows版本
  • WIN10系统睡眠后点不动
  • win10 11月累计补丁KB3097877更新后导致应用崩溃该怎么办?
  • windows7播放器无法打开
  • window mobile系统
  • gnu grub卸载
  • linux系统叫啥
  • win8取消自动更新
  • win10系统无线网络连接在哪
  • Jquery ajax基础教程
  • nodejs模拟点击
  • bat运行完后不退出
  • cocos2dx游戏开发教程
  • linux shell命令的返回值
  • netmon.exe
  • javascript基础入门视频教程
  • 出口退税申报时间是每月15号吗
  • 发票税务抽奖怎么操作
  • 西安大修基金和契税怎么计算
  • 西安国家税务局官网首页
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设