Python中类的__init__继承
Python中类的__init__继承
概念:
定义父类
In [10]: class Person:
....: def __init__(self,name,age,sex):
....: self.name = name
....: self.age = age
....: self.sex = sex
....: def get_name(self):
....: print('name:',self.name)
....:
In [11]: Bob = Person('Bob',18,'男') In [12]: Bob.get_name()
name: Bob【1】子类不重写__init__,实例化子类时,会自动调用父类定义的__init__
In [13]: class Person_child(Person):
....: def get_name(self):
....: print('name:',self.name)
....: In [14]: child = Person_child('baby',2,'男') In [15]: child.get_name()
name: baby【2】另一种的验证方式
class Person:
def __init__(self,name,age):
self.name = 'Bob'
self.age = 18 def get_name(self):
print('name:',self.name) class Student(Person):
def get_name(self):
print('name:',self.name) Kevin = Student('Kevin',12)
print('-------------------------')
print(Kevin.name)
print(Kevin.age)
print('-------------------------') output
-------------------------
Bob
18
-------------------------【3】但重写了__init__时,实例化子类,就不会调用父类已经定义的__init__
In [17]: class Person_child(Person):
....: def __init__(self,name,age,sex):
....: self.name = name
....: self.age = age
....: self.sex = sex
....: def get_name(self):
....: print('child_name:',self.name)
....: In [18]: K = Person_child('Kevin',16,'男') In [19]: K.get_name()
child_name: Kevin【4】为了能使用或扩展父类的行为,最好显示调用父类的__init__方法
class Person:
def __init__(self,name,age):
self.name = 'Bob'
self.age = 18 def get_name(self):
print('name:',self.name) class Student(Person):
def __init__(self,name,age,sex):
super(Student,self).__init__(name,age)
self.sex = sex def get_detail(self):
print('详细信息:',self.name,'---',self.age,'---',self.sex) Kevin = Student('Kevin',12,'男')
print('-------------------------')
print(Kevin.name)
print(Kevin.age)
print(Kevin.sex)
print(Kevin.get_detail())
print('-------------------------') # output
-------------------------
Bob
18
男
详细信息: Bob --- 18 --- 男
None
-------------------------
更新....
Python中类的__init__继承的更多相关文章
- Python中类的多层继承和多重继承
- Python 类中__init__()方法中的形参与如何修改类中属性的值
一.__init__()方法 如果__init__()方法为 class Cat(): def __init__(self,num) : self.num=num Python中类的__init__( ...
- python中类的继承
python中类的继承 在python中面向对象编程中实现继承,以下面一个实例进行说明. class SchoolMenber(): # __init__类似于c++中的构造函数 # __init__ ...
- Python中类的继承代码实例
Python中类的继承代码实例 这篇文章主要介绍了Python中类的继承代码实例,本文直接给出代码及运行效果,需要的朋友可以参考下 相对于C 的继承编写,Python更简洁,而且效率也是很高的,下面编 ...
- 第7.6节 Python中类的继承机制详述
在本章第一节,介绍了面向对象程序设计的三个特征:封装.继承和多态,前面章节重点介绍了封装和多态,由于Python语言是多态语言,对象的类型不再由继承等方式决定,而由实际运行时所表现出的具体行为来决定, ...
- 第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解
第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解 一. 引言 上两节介绍了构造方法的语法及参数,说明了构造方法是Python的类创建实例后首先执行的方法,并说明如果类 ...
- python 中的super()继承,搜索广度为先
一.python中类的继承 1.1 单继承 在python 中我们可以这样来定义一个类:及继承它的子类 class Father: def __init__(self, mes): #1 父类的ini ...
- 【学习笔记】--- 老男孩学Python,day18 面向对象------继承
继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类, 父类又可称为基类或超类,新建的类称为派生类或子类 python中类的继承分为:单继承和多继承 class Fathe ...
- python基础之类的继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法
一.什么是继承 继承是一种创建新的类的方式,新建的类可以继承自一个或者多个父类,原始类称为基类或超类,新建的类称为派生类或子类. 派生:子类继承了父类的属性,然后衍生出自己新的属性,如果子类衍生出的新 ...
随机推荐
- Oracle基础体系浅析
不论是开发.管理.优化还是设计,对Oracle的基本原理的了解都是必不可少的,于是对自己最近关于Oracle的学习作出一点点的总结. 庖丁解牛之所以能做到"合于桑林之舞,乃中经首之会&quo ...
- HBase Filter及对应Shell
比较运算符 CompareFilter.CompareOp比较运算符用于定义比较关系,可以有以下几类值供选择: EQUAL 相等 GREATER 大于 GREATER_OR_EQUAL 大于等于 LE ...
- cookie的存入和取出
刚刚开始写页面没多久,因为登录注册写的是个tab切换,所以需要在点击登录的时候跳到登录页面,点击注册的时候跳转到注册页面,自己在网上找了一下,研究了一下cookie方法,现在把它记下来. 存入cook ...
- Polly 重试策略
工作原理 Retry 基本重试: public static void Retry() { var random = new Random(); // Policy<> 泛型定义返回值类型 ...
- 微信小程序http连接访问解决方案
HTTP + 加密 + 认证 + 完整性保护 = HTTPS,小程序考虑到信息安全的问题,选用了更为稳定安全的https 来进行信息传递. HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全 ...
- DataTable2JSON 和 DataTable2Class 性能比较
DataTable 用 5000行和50000行数据做测试,得出转class效率貌似高一点点,不过优化并不大,还是 sql ,网络请求方面做优化比较显著. jobject 2019-03-07 06: ...
- SparkStreaming流处理
一.Spark Streaming的介绍 1. 流处理 流式处理(Stream Processing).流式处理就是指源源不断的数据流过系统时,系统能够不停地连续计算.所以流式处理没有什么 ...
- vlog.hpp
//vov #ifndef VLOG_HPP #define VLOG_HPP #include <sys/time.h> #include <unistd.h> #ifnde ...
- 外排序 External sorting
2019-04-17 18:11:34 外排序(External sorting)是指能够处理极大量数据的排序算法.通常来说,外排序处理的数据不能一次装入内存,只能放在读写较慢的外存储器(通常是硬盘) ...
- python基础知识点(unittest)
目录: unittest 单元测试框架 1.写用例: Testcase 2.执行:TestSuite 类 TestLoader 类 3.比对结果(期望值/实际值):断言函数 4.结果:TestText ...