位置: 编程技术 - 正文

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是怎么回事
  • 已抵扣的增值税怎么做账
  • 2018营改增房产税计税依据
  • 前期认证相符且本期申报抵扣怎么填
  • 增值税扣税凭证抵减销项税额
  • 公办幼儿园食堂21项制度
  • 增值税在免税范围内,附加税怎么做
  • 税务局怎么知道你的收入
  • 注册资本与注册资金的区别
  • 金税盘发票份数没有显示
  • 代扣个税税率是多少
  • 报废的周转物怎么处理?
  • win7文件打开方式怎么恢复以前
  • mac怎么设置快捷图标
  • 视频监控维护
  • office com组件修复
  • linux系统文件压缩命令
  • 税务局返还的手续费需开发票吗
  • Linux Mount NTFS分区造成的权限问题如何解决?
  • 买股指期货有什么条件
  • 工会经费如何在网上购物吗
  • 辞退员工补偿标准是n+1还是2n
  • 威尼斯海滩滑板场
  • 项目成本估算的结果一般不包括
  • php gettext
  • 盒子模型的概念
  • 【Pytorch深度学习50篇】·······第六篇:【常见损失函数篇】-----BCELoss及其变种
  • chatto
  • open是什么含义
  • 发票纳税人识别号错了怎么解决
  • python如何设置窗口背景色
  • 03-JavaScript基础
  • 应纳税所得额100-300万税率
  • vue新手教程
  • 股票收益缴纳个人所得税吗
  • 申请开具电子发票
  • dedecms使用教程
  • mongodb查看数据库大小
  • python 逻辑取反
  • 稽查查补的税款由谁追征
  • access 模糊匹配
  • 公司法人代表可以有几个
  • 代销商品税率是多少
  • 房租押金可以要回来吗
  • 失业稳岗补贴怎么领
  • 固定资产一次性扣除政策
  • 专用发票的用途
  • 预付账款年底怎么调账
  • 员工持股平台合伙企业
  • 土地契税税率计算公式
  • 盈余公积的例子
  • 支付结算的法律构成
  • 公司收到某人打款怎么做分录
  • 营业外收入的账户结构
  • 企业租入设备的会计分录怎么写
  • 购入商品货款尚未支付
  • 固定资产的核算包括
  • 餐饮食材成本高怎么形容
  • mysql5.7.35安装配置教程
  • win8使用教程和技能
  • windows10秋季更新
  • 怎么改电脑windows7
  • linux awk nr
  • windows 10更新卡住
  • RedHatLinux AS3中APACHE+SendMail+OpenWebMail整合
  • 如何修改win7电脑用户密码
  • android 一个activity多个layout
  • cmd进入控制面板代码
  • bootstrap入门
  • javascript详解
  • html5翻页效果
  • texture packer工具
  • centos上安装邮件服务器
  • 个体加油站税务怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设