1. 如果子类没有定义自己的初始化函数,父类的初始化函数会被默认调用;但是如果要实例化子类的对象,则只能传入父类的初始化函数对应的参数,否则会出错。

Child没有初始化函数

class Parent:def __init__(self,name):self.name = nameprint("初始化爸爸",name)def f(self):print("爸爸的f")
class Child(Parent):def ff(self):print("儿子的ff")
b=Child('儿子建立对象')
b.ff()

输出结果:

初始化爸爸 儿子建立对象
儿子的ff
  1. 如果子类定义了自己的初始化函数,而在子类中没有显示调用父类的初始化函数,则父类的属性不会被初始化。

Child有初始化函数

class Parent:def __init__(self,name):self.name = nameprint("初始化爸爸",name)def f(self):print("爸爸的f")
class Child(Parent):def __init__(self):# self.name=nameprint("初始化儿子")def ff(self):print("儿子的ff")
b=Child()
b.ff()
print(b.name)

输出结果:

初始化儿子
儿子的ff
AttributeError: 'Child' object has no attribute 'name'
  1. 如果子类定义了自己的初始化函数,在子类中显示调用父类,子类和父类的属性都会被初始化。
class Parent:def __init__(self,name):self.name = nameprint("初始化爸爸",name)def f(self):print("爸爸的f")
class Child(Parent):def __init__(self):super(Child, self).__init__("来自儿子")print("初始化儿子")def ff(self):print("儿子的ff")
a=Parent("来自父亲")
b=Child()
print(b.name)

输出结果:

初始化爸爸 来自父亲
初始化爸爸 来自儿子
初始化儿子
来自儿子

Python继承初始化问题相关推荐

  1. python 继承的规则

    本文讲述python继承规则. 先来看一些概念: 面向对象的概念 简单地说 面向对象编程(Object Oriented Programming)简称OOP 就是使我们分析.设计 和实现一个系统的方法 ...

  2. python继承问题_Python类的继承问题

    Python相比较Java,C++之类的高级语言是相对来说比较容易的,但能把Python学的很好的人却不多.虽然Python容易,但python的学习道路并不简单,可借助的资料不多,能把python讲 ...

  3. python继承中的参数_python 继承中的super

    python继承中子类访问父类的方法(包括__init__)主要有两种方法,一种是调用父类的未绑定方法,另一种是使用super(仅仅对于新式类),看下面的两个例子: #coding:utf-8 cla ...

  4. python继承注意问题

    在python继承中需要注意如下问题 1,父子类初始化问题 如果在父类初始化方法中需要传递变量,那么在建立对象的时候就需要传递两次变量,也就是父类对象要传递一次,子类对象也要传递一次 class Wo ...

  5. python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解

    本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...

  6. python 继承和多态

    python 继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Ba ...

  7. python编程语言继承_python应用:学习笔记(Python继承)

    学习笔记(Python继承)Python是一种解释型脚本语言,可以应用于以下领域: web 和 Internet开发 科学计算和统计 人工智能 教育 桌面界面开发 后端开发 网络爬虫 有几种叫法(父类 ...

  8. python继承——封装

    python继承--封装 1 为什么要封装 封装数据的主要原因是:保护隐私 封装方法的主要原因是:隔离复杂度 2 封装分为两个层面 第一个层面的封装(什么都不用做):创建类和对象会分别创建二者的名称空 ...

  9. Python 字典初始化dict()和{}

    python字典初始化比较常用的两种方式:dict() 和 {} 性能方面,{}性能更好. 可以通过dist模块,查看两者的字节码: >>> import dis >>& ...

最新文章

  1. Cocoapods 私有库
  2. virtualbox vboxmanage命令
  3. 公共关系计算机操作题,2012年计算机二级Access考前模拟题及答案(8)
  4. 正则表达式学习 (一) 转
  5. bzoj 4002: [JLOI2015]有意义的字符串
  6. seo自动工具_【SEO工具】搭建一个网站需要用到哪些SEO工具?
  7. 企业如何培养新型员工队伍
  8. 【PyTorch】高级神经网络结构
  9. Office的Ctrl C,Ctrl V使用过多?一起看看python如何处理
  10. 前端Ts大写日期转化日期格式
  11. 如何打造一个低效能技术团队?
  12. 2021年金属非金属矿山(地下矿山)安全管理人员考试内容及金属非金属矿山(地下矿山)安全管理人员考试报名
  13. java val变量声明_Kotlin中变量不同于Java: var 对val(KAD 02)
  14. 强力推荐|是否还在为论文无法下载而忧愁,为大家安利下自己做的论文下载神器...
  15. 数据预处理之数据标准化StandardScaler
  16. 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~17开始游戏-移动方向处理
  17. 基于Netty的分布式聊天系统
  18. 【私人备忘录】Android P 去电代码流程
  19. facebook网络团队是如何炼成的?
  20. 基于另一个单元格值的条件格式

热门文章

  1. Packet Tracer配置交换机详细步骤(实验)
  2. 目前计算机都采用什么总线结构?采用哪些通信控制?
  3. 小朋友的Qimo计算机问世
  4. Microsoft Office 2007 中文专业版密钥
  5. 服务器上文件导出到本地,服务器文件导出到本地
  6. 怎样练习小提琴的空弦、音阶…
  7. 【软考系统架构设计师】2013年下系统架构师综合知识历年真题
  8. linux下的文件属性和文件权限
  9. 联想笔记本电脑昭阳E40睡眠恢复时蓝屏并自动快速重启的解决办法
  10. 正则表达式 划分省市区(直辖市和附详细地址包括市,区)