位置: 编程技术 - 正文

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

  • 利润表主营业务成本怎么算
  • 小规模企业可以开6%的税票吗
  • 租赁类发票可以不写单价数量
  • 建筑业工程结算是什么科目
  • 农产品是零税率还是免税税率
  • 股权转让1元转让
  • 个人净资产包括房子吗
  • 弥补以前年度亏损从哪里取数
  • 纳税人取得虚开的增值税专用发票处理问题的通知
  • 建筑行业的收入是什么
  • 质量问题扣款账务处理
  • 公司购电缆用于生产如何记账?
  • 商品进销差价是资产类账户,其抵减的账户是
  • 房地产企业销售老项目税率
  • 税控服务费抵扣的文件
  • 存款利息收入是免税还是不征税
  • 产品检测费用计入什么科目
  • 企业的公益性捐赠支出
  • 应收账款周转次数计算方法
  • 客户退货发到付怎么办
  • 公司向个人租赁房屋要缴什么税
  • win 11 无法安装
  • 车船税是什么险种
  • 印花税滞纳金应计入什么
  • 企业与企业之间进行的电子商务模式是
  • 一篇不错的php基础论文
  • 子公司接受母公司无偿划转的房屋如何缴纳房产税
  • 附有退货条款的销售
  • PHP:apache_setenv()的用法_Apache函数
  • 公司转让账务处理,账户抹平
  • ElementPlus DateTimePicker日期时间选择器限制可选时间范围(精确时分秒)
  • 接受捐赠和对外捐赠分录
  • node升级版本
  • 小微企业免教育附加
  • linux symbolic link
  • 国税网如何下载申报后的财务报表
  • 买货没发票如何入账?
  • 企业所得税申报更正怎么操作
  • 年末应交税费怎么算
  • 重分类调整分录汇总表什么情况填写
  • MicrosoftSQLserver2014
  • 工程施工科目借方尾差怎么调整
  • 发票食品类包含哪些
  • 以非现金资产抵偿债务
  • 预提费用没有收到发票也没有付款
  • 什么叫做增值税的新增价值呢
  • 用友t6反记账步骤
  • 计提企业所得税的会计科目
  • 购进生产免税货物用材料可以抵扣进项税额吗
  • 本期预付的费用属于本期费用吗
  • 返还的个税如何做分录
  • 销项负数发票入账分录
  • 施工人员的工资计入
  • 企业年报修改后没有公示怎么办
  • 影视产业前景
  • mysql基本介绍
  • 存储过程实现业务逻辑
  • MySQL 5.6 中 TIMESTAMP 的变化分析
  • sql语句的查询语句
  • sql server?
  • windows怎么管理员权限
  • 如何删除windows media center
  • Vista技巧:何在Vista上运行不兼容的旧版本软件
  • 无windows什么意思
  • Win10 Mobile 10572 预览版已修复和已知问题汇总
  • xp系统怎么进入系统
  • linux界面显示
  • windows常用操作
  • win7共享文件权限设置
  • Linux内核级别的资源隔离机制是
  • 深入了解linux内核
  • windows where命令
  • linux tar -czvf
  • js中数组操作
  • vue请求数据再赋值data
  • unity 加载界面
  • nodejs 加解密
  • 利用python中的scikit-learn对疫情数据挖掘
  • python切片菜鸟教程
  • python内建函数 代码
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设