位置: 编程技术 - 正文

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

  • 旅游业成本具体有哪些
  • 个税申报按权责发生制行吗?
  • 开技术服务费发票怎么做账
  • 房地产公司拆迁部岗位职责
  • 出现哪些情形纳入医保
  • 劳务派遣怎么做起来
  • 收款凭证与收据的效力
  • 存货盘盈属于什么活动
  • 建筑工程外地预交税款后完工怎么办
  • 税务年检流程
  • 银行支付结算工作内容
  • 白条入账的会计分录
  • 建帐时库存的原材料如何入帐?
  • 认购私募股权基金
  • 轿车计提折旧
  • 采购合同可以包含安装吗
  • 医疗器械技术服务合同
  • 凭票报销交通费补贴
  • 公司必须购买税控设备吗
  • 库存现金清查短款会计分录
  • 会员卡充值赠送金额怎么做账
  • 购买银行承兑汇票的会计分录
  • 工业企业和其他企业经营的对象
  • 换汇成本怎么计算
  • 包装物租金怎么算
  • 开给销货方红字信息表如何做账?
  • 年末应计提坏账准备为什么是负数
  • 原材料进口关税计入成本吗
  • 国有土地使用权租赁
  • mac系统中文输入法切换
  • 票据贴现办法
  • 苹果官网
  • 不征税收入用于支出所形成的费用是什么意思
  • 进项税额转出怎么做账务处理
  • react-use
  • 预测编码方式
  • 超经营范围开具发票
  • 元素垂直水平居中方式
  • 商业预付卡可以报销吗
  • roc曲线绘制r语言
  • aws documentation
  • php中定义函数
  • 收支比是收入比还是利润
  • 收到股东投资款现金流量表入哪一项
  • 公允价值变动损益借贷方向
  • 申请开立账户的请示
  • mysql更新语句
  • 无形资产出售当月是否摊销
  • 小规模企业免税收入会计分录
  • 工会会计固定基金
  • 预付款 退
  • 材料采购如何做好市场调研工作
  • 个人所得税的计算公式方法Excel
  • 短期借款的实际利率与现金折扣的关系
  • 奖金是职工福利?
  • 收客户逾期利息会计分录
  • 预计负债是暂时性差异还是永久性差异
  • 主营业务成本为什么借增贷减
  • 如何理解会计含义
  • MySQL数据库同时查询更新同一张表的方法
  • mysql 存储过程存放在哪里
  • windows内存诊断工具检测到硬件问题怎么办
  • 修改远程桌面端口命令是什么
  • Linux系统中配置网络包含( )方法
  • win7怎样添加开机启动项
  • win8系统桌面图标
  • win7系统怎么用无线接收器怎么用
  • linux基础常用命令
  • win8启动设置选哪个
  • js下拉加载
  • Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
  • javascript常用类型
  • android使用教程
  • 简单强悍是哪首歌
  • 关于javascript
  • 详解 linux mysqldump 导出数据库、数据、表结构
  • 好用的css
  • 无锡税务app
  • 合格的税务人
  • 个体商户营业额多少万以下免税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设