Python继承初始化问题
- 如果子类没有定义自己的初始化函数,父类的初始化函数会被默认调用;但是如果要实例化子类的对象,则只能传入父类的初始化函数对应的参数,否则会出错。
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
- 如果子类定义了自己的初始化函数,而在子类中没有显示调用父类的初始化函数,则父类的属性不会被初始化。
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'
- 如果子类定义了自己的初始化函数,在子类中显示调用父类,子类和父类的属性都会被初始化。
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继承初始化问题相关推荐
- python 继承的规则
本文讲述python继承规则. 先来看一些概念: 面向对象的概念 简单地说 面向对象编程(Object Oriented Programming)简称OOP 就是使我们分析.设计 和实现一个系统的方法 ...
- python继承问题_Python类的继承问题
Python相比较Java,C++之类的高级语言是相对来说比较容易的,但能把Python学的很好的人却不多.虽然Python容易,但python的学习道路并不简单,可借助的资料不多,能把python讲 ...
- python继承中的参数_python 继承中的super
python继承中子类访问父类的方法(包括__init__)主要有两种方法,一种是调用父类的未绑定方法,另一种是使用super(仅仅对于新式类),看下面的两个例子: #coding:utf-8 cla ...
- python继承注意问题
在python继承中需要注意如下问题 1,父子类初始化问题 如果在父类初始化方法中需要传递变量,那么在建立对象的时候就需要传递两次变量,也就是父类对象要传递一次,子类对象也要传递一次 class Wo ...
- python的继承用法_【后端开发】python中继承有什么用法?python继承的用法详解
本篇文章给大家带来的内容是关于python中继承有什么用法?python继承的用法详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 面向对象三大特征 1.封装:根据职责将属性和方法 ...
- python 继承和多态
python 继承和多态 在OOP程序设计中,当我们定义一个class的时候,可以从某个现有的class继承,新的class称为子类(Subclass),而被继承的class称为基类.父类或超类(Ba ...
- python编程语言继承_python应用:学习笔记(Python继承)
学习笔记(Python继承)Python是一种解释型脚本语言,可以应用于以下领域: web 和 Internet开发 科学计算和统计 人工智能 教育 桌面界面开发 后端开发 网络爬虫 有几种叫法(父类 ...
- python继承——封装
python继承--封装 1 为什么要封装 封装数据的主要原因是:保护隐私 封装方法的主要原因是:隔离复杂度 2 封装分为两个层面 第一个层面的封装(什么都不用做):创建类和对象会分别创建二者的名称空 ...
- Python 字典初始化dict()和{}
python字典初始化比较常用的两种方式:dict() 和 {} 性能方面,{}性能更好. 可以通过dist模块,查看两者的字节码: >>> import dis >>& ...
最新文章
- Cocoapods 私有库
- virtualbox vboxmanage命令
- 公共关系计算机操作题,2012年计算机二级Access考前模拟题及答案(8)
- 正则表达式学习 (一) 转
- bzoj 4002: [JLOI2015]有意义的字符串
- seo自动工具_【SEO工具】搭建一个网站需要用到哪些SEO工具?
- 企业如何培养新型员工队伍
- 【PyTorch】高级神经网络结构
- Office的Ctrl C,Ctrl V使用过多?一起看看python如何处理
- 前端Ts大写日期转化日期格式
- 如何打造一个低效能技术团队?
- 2021年金属非金属矿山(地下矿山)安全管理人员考试内容及金属非金属矿山(地下矿山)安全管理人员考试报名
- java val变量声明_Kotlin中变量不同于Java: var 对val(KAD 02)
- 强力推荐|是否还在为论文无法下载而忧愁,为大家安利下自己做的论文下载神器...
- 数据预处理之数据标准化StandardScaler
- 魔塔之拯救白娘子~我的第一个VB6+DX8做的小游戏源码~17开始游戏-移动方向处理
- 基于Netty的分布式聊天系统
- 【私人备忘录】Android P 去电代码流程
- facebook网络团队是如何炼成的?
- 基于另一个单元格值的条件格式