python之super

子类在继承父类的时候,一般都会在初始化函数中调用父类的__init__函数,举个例子:

class Parent:def __init__(self):print("This is Parent class.")class Child(Parent):def __init__(self):super().__init__()print("This is Child class.")c = Child()

那为什么会调用呢? 不调是否可以? 再看个例子

class Parent:def __init__(self) -> str:self.age = 18def getAge(self):return self.ageclass Child(Parent):def __init__(self) -> str:self.name = "Child"c = Child()
print(c.getAge())

执行后,会报错,信息如下:

Traceback (most recent call last):File "h:\py_super.py", line 14, in <module>print(c.getAge())^^^^^^^^^^File "h:\py_super.py", line 6, in getAgereturn self.age^^^^^^^^
AttributeError: 'Child' object has no attribute 'age'

原因:

        1. 子类在继承时,没有触发父类的初始化函数,导致对象属性age缺失。

        因此,最好还是调用一下父类的__init__函数。

        特别是当有很长的继承关系时,如D继承C,C继承B,B继承A,D类逐个调用多个父类的__init__函数太麻烦,而super()方法可以自动的找到父类的构造方法,并正确的传递参数。

补充知识点:

super函数返回一个代理对象,该对象可以访问父类的方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/2129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XiaodiSec day031 Learn Note 小迪安全学习笔记

XiaodiSec day031 Learn Note 小迪安全学习笔记 记录得比较凌乱&#xff0c;不尽详细 day31 上传漏洞 前置 基础内容在 ctfshow 中演示 中间件 cms 中的文件上传 开始 文件上传一般配合抓包 前台验证, 在前台改就可上传成功 php 后缀的文件有 php 后门&#xff0c;可连…

消费增值:革新你的消费体验,让每一分钱都更有价值

亲爱的顾客们&#xff0c;你们好&#xff01;今天&#xff0c;我想为大家介绍一种革新性的消费模式——消费增值&#xff0c;它赋予每一次购物以额外的价值&#xff0c;让消费过程变得更加丰富多彩。 过去&#xff0c;我们的消费观念往往是“一手交钱&#xff0c;一手交货”&am…

LCD彩屏显示方案选型攻略:从接口到GUI开发工具的全面评估

在现代人类社会&#xff0c;彩色显示技术是科技王国里最为绚丽夺目的技术奇葩&#xff0c;LCD彩屏通过显示实时信息并提供交互式的体验&#xff0c;将信息时代打扮得多姿多彩。无论是智能家电还是医疗健康设备领域&#xff0c;精美直观的LCD彩屏显示&#xff0c;往往能够为用户…

【Linux学习】初始冯诺漫体系结构

文章目录 认识冯诺依曼系统 认识冯诺依曼系统 什么是冯诺依曼体系结构&#xff1f; 冯诺依曼体系结构是一种将程序指令和数据以二进制形式存放在主存储器中&#xff0c;由中央处理器统一控制和执行的计算机系统结构。冯诺依曼体系结构实现了程序的可编程性和硬件与软件的分离&…

wordpress建网站主题案例推荐

wordpress企业网站主题案例 https://www.mymoban.com/wordpress/ wordpress公司官网主题案例 https://www.wowsoho.com/jianzhan wordpress外贸主题案例 https://www.wpniu.com/moban

用户中心 -- 插件使用 插件使用思路

易错注意点 1 5.1启动类 & 入口类 需保持一致 网址&#xff1a; 第一节课&#xff0c;用户管理--后端初始化&#xff0c;项目调通。二次翻工2-CSDN博客 一、 用户管理 框架 网址&#xff1a; 用户管理 --汇总 -- 明细-CSDN博客 1.2 更改路径&#xff0c;并生效 网址…

基于SpringBoot的“家具销售电商平台”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“家具销售电商平台”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 管理员登录界面 管理员功能界面 家具分类管理…

【c语言】gcc编译动态库静态库和使用说明

&#xff08;1&#xff09;linux和win下库后缀名 在WIN上封装为.dll&#xff08;动&#xff09;&#xff0c;.lib&#xff08;静&#xff09;。 在LINUX上封装为.so&#xff08;动&#xff09;&#xff0c;.a&#xff08;静&#xff09; &#xff08;2&#xff09;动态库的封…

戴尔g15删掉的数据怎么恢复?介绍几种常用方法

随着科技的发展&#xff0c;电脑已成为我们日常生活和工作中不可或缺的一部分。其中&#xff0c;戴尔G15作为一款高性能的笔记本电脑&#xff0c;受到了许多用户的青睐。然而&#xff0c;就像任何电子设备一样&#xff0c;戴尔G15也难免会遇到数据丢失的问题。因此&#xff0c;…

纳米体育数据足球数据接口: 指数数据包接口文档API示例⑦

纳米体育数据的数据接口通过JSON拉流方式获取200多个国家的体育赛事实时数据或历史数据的编程接口&#xff0c;无请求次数限制&#xff0c;可按需购买&#xff0c;接口稳定高效&#xff1b;覆盖项目包括足球、篮球、网球、电子竞技、奥运等专题、数据内容。 纳米数据API2.0版本…

【算法刷题】手撕LRU算法(原理、图解、核心思想)

文章目录 1.LRU算法1.1相关概念1.2图解举例1.3基于HashMap和双向链表实现1.3.1核心思想1.3.2代码解读1.3.3全部代码 1.LRU算法 1.1相关概念 LRU&#xff08;Least Recently Used&#xff0c;最近最久未使用算法&#xff09;&#xff1a; 定义&#xff1a;根据页面调入内存后的…

python画图笔记

1. 直方图:Matplotlib 中如何同时绘制两个直方图? - 知乎 (zhihu.com) matplotlib可视化之直方图plt.hist()与密度图-CSDN博客

力扣练习题(2024/4/19)

1两个字符串的删除操作 给定两个单词 word1 和 word2 &#xff0c;返回使得 word1 和 word2 相同所需的最小步数。 每步 可以删除任意一个字符串中的一个字符。 示例 1&#xff1a; 输入: word1 "sea", word2 "eat" 输出: 2 解释: 第一步将 "se…

(一)、SQL进阶——神奇的SQL

一、CASE表达式 1、CASE表达式概述 case表达式有简单case表达式和搜索case表达式两种写法 -- 简单case表达式 case sex when 1 then 男 when 0 then 女 else 其他 end -- 搜索case表达式 case when sex1 then 男 when sex1 then 男 else 其他 end 这两种写法执行的结…

跨平台手机号:微信手机号授权登录、微信授权登录双登录实现账户生态融合,新时代的身份密钥

小程序厂商的多样性体现在开发工具、服务领域、商业模式等多方面&#xff0c;各厂商凭借独特的技术优势、行业解决方案和市场策略&#xff0c;满足不同企业和用户需求。与此同时&#xff0c;随着移动互联网发展&#xff0c;手机号统一登录成为提升用户体验、简化登录流程的关键…

每日一篇 4.24(提前)

condemns :谴责 Claim&#xff1a;说法 malicious&#xff1a;恶意 curb&#xff1a;遏制 stabilization of xxx ties&#xff1a;xx关系稳定 launched its harshest attack to date on xxx&#xff1a;发起了迄今为止最严厉的攻击 suppressing&#xff1a;打压 favorable…

Go语言接口使用

底层值为 nil 的接口值 即便接口内的具体值为 nil&#xff0c;方法仍然会被 nil 接收者调用。 在一些语言中&#xff0c;这会触发一个空指针异常&#xff0c;但在 Go 中通常会写一些方法来优雅地处理它&#xff08;如本例中的 M 方法&#xff09;。 注意: 保存了 nil 具体值…

要养生也要时尚,益百分满足你的所有需求

要养生也要时尚&#xff0c;益百分满足你的所有需求 艾灸是个好东西&#xff0c;尤其是在近几年的时候&#xff0c;艾灸就像一阵浪潮席卷进了人们的日常生活之中&#xff0c;我们可以在街边看到大大小小的艾灸馆&#xff0c;有些评价比较高的艾灸馆门前甚至还排起了长长的队伍…

Unity3D 分块编辑小AStar地图详解

前言 A算法是一种经典的寻路算法&#xff0c;能够帮助游戏中的角色找到最短路径。在本文中&#xff0c;我们将介绍如何在Unity3D中使用分块编辑的方式创建一个小的A地图&#xff0c;并实现A*算法来实现角色的寻路。 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;希…

FasterViT:英伟达提出分层注意力,构造高吞吐CNN-ViT混合网络 | ICLR 2024

论文设计了新的CNN-ViT混合神经网络FasterViT&#xff0c;重点关注计算机视觉应用的图像吞吐能力。FasterViT结合CNN的局部特征学习的特性和ViT的全局建模特性&#xff0c;引入分层注意力&#xff08;HAT&#xff09;方法在降低计算成本的同时增加窗口间的交互。在包括分类、对…