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__继承的更多相关文章

  1. Python中类的多层继承和多重继承

  2. Python 类中__init__()方法中的形参与如何修改类中属性的值

    一.__init__()方法 如果__init__()方法为 class Cat(): def __init__(self,num) : self.num=num Python中类的__init__( ...

  3. python中类的继承

    python中类的继承 在python中面向对象编程中实现继承,以下面一个实例进行说明. class SchoolMenber(): # __init__类似于c++中的构造函数 # __init__ ...

  4. Python中类的继承代码实例

    Python中类的继承代码实例 这篇文章主要介绍了Python中类的继承代码实例,本文直接给出代码及运行效果,需要的朋友可以参考下 相对于C 的继承编写,Python更简洁,而且效率也是很高的,下面编 ...

  5. 第7.6节 Python中类的继承机制详述

    在本章第一节,介绍了面向对象程序设计的三个特征:封装.继承和多态,前面章节重点介绍了封装和多态,由于Python语言是多态语言,对象的类型不再由继承等方式决定,而由实际运行时所表现出的具体行为来决定, ...

  6. 第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解

    第8.3节 Python类的__init__方法深入剖析:构造方法与继承详解 一.    引言 上两节介绍了构造方法的语法及参数,说明了构造方法是Python的类创建实例后首先执行的方法,并说明如果类 ...

  7. python 中的super()继承,搜索广度为先

    一.python中类的继承 1.1 单继承 在python 中我们可以这样来定义一个类:及继承它的子类 class Father: def __init__(self, mes): #1 父类的ini ...

  8. 【学习笔记】--- 老男孩学Python,day18 面向对象------继承

    继承 继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类, 父类又可称为基类或超类,新建的类称为派生类或子类 python中类的继承分为:单继承和多继承 class Fathe ...

  9. python基础之类的继承与派生、组合、接口与归一化设计、抽象类、子类中调用父类方法

    一.什么是继承 继承是一种创建新的类的方式,新建的类可以继承自一个或者多个父类,原始类称为基类或超类,新建的类称为派生类或子类. 派生:子类继承了父类的属性,然后衍生出自己新的属性,如果子类衍生出的新 ...

随机推荐

  1. OpenCV自带dnn的Example研究(1)— classification

    这个博客系列,简单来说,今天我们就是要研究 https://docs.opencv.org/master/examples.html下的 6个文件,看看在最新的OpenCV中,它们是如何发挥作用的. ...

  2. Bugku-CTF之速度要快

    Day21 速度要快 速度要快!!!!!! http://123.206.87.240:8002/web6/

  3. list set map区别及适用场景

    list与Set.Map区别及适用场景   1.List,Set都是继承自Collection接口,Map则不是 2.List特点:元素有放入顺序,元素可重复 ,Set特点:元素无放入顺序,元素不可重 ...

  4. ArcGIS JS API4 With VueJS集成开发

    1.USING VUEJS WITH ARCGIS API FOR JAVASCRIPT,集成VUE到ArcGIS JS开发中. 2.ARCGIS API 4 FOR JS WITH VUE-CLI ...

  5. java的hello world

    public class HelloWorld { public static void main(String []args) { System.out.println("Hello Wo ...

  6. js var 以及 let 的差异

    例子 window.checklist=[{"boardname":"motor_board","cur":"1.0.0" ...

  7. 编译原理中DFA最小化

    关于编译原理最小化的操作,专业术语请移步至:http://www.360doc.com/content/18/0601/21/11962419_758841916.shtml 这里只是记录一下个人的理 ...

  8. linux shell实战之知识体系

    1.认识GUN/bash shell 梳理清楚硬件,内核及模块,shell之间的关系:熟悉GUN的bash以及bash shell的功能:学习shell的通配符 2.shell 的变量 变量的设置,取 ...

  9. web前端常见面试题

    转载自:https://www.cnblogs.com/jj-z/p/7999538.html 一.理论知识 1.1.讲讲输入完网址按下回车,到看到网页这个过程中发生了什么 a. 域名解析 b. 发起 ...

  10. scrapy 中crawlspider 爬虫

    爬取目标网站: http://www.chinanews.com/rss/rss_2.html 获取url后进入另一个页面进行数据提取 检查网页: 爬虫该页数据的逻辑: Crawlspider爬虫类: ...