位置: 编程技术 - 正文

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

  • 增值税销项税额和进项税额
  • 购入土地使用权以什么为计税依据
  • etc发票开票中
  • 其他业务收入在借方表示什么
  • 资产处理损益属于什么科目借贷方向
  • 外经证到期如何填写最新有效期限
  • 公户转到法人账户怎么做账
  • 收到3%的增值税专用发票可以抵扣吗
  • 应交增值税进项税额月底怎么处理
  • 国税和地税分别占多少
  • 怎么分清楚待认识的人
  • 公司成本票不够交税多少
  • 土地增值税计算表
  • 生物性资产是什么
  • 房屋的契税印花税的会计分录
  • 出口佣金会计分录
  • 营改增后餐饮业税种
  • 工程款主营业务成本
  • 非营利性组织有
  • 进口海运费增值税发票 抵扣
  • 0xc0000142怎么修复
  • 对于目标文件系统文件过大无法删除
  • linux的使用场合
  • 建筑公司合作模式有哪几种
  • 纯净版 win10
  • 网络打印机找不到网络路径
  • win11桌面右键失效
  • 个人减免税政策6条
  • php语言标记风格有四种,分别是
  • 建筑保温材料施工工艺
  • 纳税人辅导期申报流程
  • 固定资产清理的累计折旧怎么算
  • 以旧换新的税务处理会计
  • js解耦
  • 使用vscode开发vue例子
  • web 自动化测试
  • 织梦怎么添加相关
  • 服务型公司营业执照图片
  • c语言f lf
  • mysql有什么优势和特点
  • 时区时间对照表
  • 在建工程账务核算及处理
  • 其他应收款是如何核算的
  • 如何在Access中设置有效性规则必须大于等于0
  • 个人所得税修改密码怎么改
  • 研发费用如何进账
  • 质保金 销售费用
  • 外币资产汇兑损失计算公式
  • 会计人要求
  • 已提过5个月折旧要进行固定资产一次性扣除吗?
  • 被列为经营异常的企业合法吗
  • 递延所得税资产怎么计算
  • 财务报表中的净利润
  • 预付性费用支出计入
  • 税控盘年费每年都可以抵扣吗
  • 费用票可以抵扣多少企业所得税
  • 处理旧固定资产税率
  • 税控系统技术维护费的申报抵扣方法
  • 印花税减免税额怎么填
  • mysql数据库使用教程
  • sqlserver数据完整性
  • Mac OS10.11下mysql5.7.12 安装配置方法图文教程
  • 快速删除指定位置的结点用单链表还是双链表
  • ubuntu安装ubuntu-desktop
  • fedora workstation怎么安装
  • 苹果系统怎么修改位置
  • win8.1如何关闭windows defender
  • pavkre.exe - pavkre是什么进程 作用是什么
  • win10 20h2怎么装
  • windows7如何调节屏幕色彩
  • window10里的ie浏览器
  • OpenGL图元管理
  • opengl纹理错误变成条纹
  • javascript例题
  • windows批处理官方教程
  • shell脚本运行linux命令
  • 测验2:python基本图形绘制
  • 杭州没有户口可以上幼儿园吗
  • 20 百望九赋税控盘管理员默认指令多少?
  • 大连市国家税务网
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设