经典类:
#!/usr/bin/env python
#*-* coding:utf-8 *-*
class A():
def __init__(self):
print 'my name is GF' def test(self):
print 'this is ====A====='
class B(A):
def __init__(self):
print 'my name is BFather'
class C(A):
def __init__(self):
print 'my name is Cfather' def test(self):
print 'this is ======C======'
class D(B,C):
def __init__(self):
print 'my name is D'
t1 =D()
t1.test()
执行效果:
my name is D
this is ======A======
#继承关系,先找B,如果B没有则找A.(深度优先)

  

 
新生类:

#!/usr/bin/env python
#*-* coding:utf-8 *-*
class A(object):
def __init__(self):
print 'my name is GF' def test(self):
print 'this is ====A====='
class B(A):
def __init__(self):
print 'my name is BFather'
class C(A):
def __init__(self):
print 'my name is Cfather' def test(self):
print 'this is ======C======'
class D(B,C):
def __init__(self):
print 'my name is D'
t1 =D()
t1.test() 执行结果
my name is D
this is ======C======
#继承关系,先找B,如果B没有则找C(广度优先) 当然,class D(B,C) 这里是先执行B,在执行C的。
 
小结:经典类深度优先,新生类广度优先。
class A(object):
def __init__(self):
print 'my name is GF' def test(self):
print 'this is ====A====='
class B(A):
def __init__(self):
print 'my name is BFather'
class C(A):
def __init__(self):
print 'my name is Cfather' def test(self):
print 'this is ======C======'
class D(B,C):
def __init__(self):
print 'my name is D'
super(D,self).__init__()
t1 =D()
t1.test() 这里执行父类的构造函数,可以使用super方法,这也是新生类的特点。
如果使用经典类的话,那么调用父类的构造函数或者是方法,只能使用父类.方法(self)的方法

  

小结:新生类是支持super方式调用父类的方法。

 
 
 

python新生类和经典类简单说明的更多相关文章

  1. python中新式类和经典类

    python中的类分为新式类和经典类,具体有什么区别呢?简单的说, 1.新式类都从object继承,经典类不需要. Python 2.x中默认都是经典类,只有显式继承了object才是新式类 Pyth ...

  2. python中新式类和经典类的区别

    1).python在类中的定义在py2-3版本上是使用的有新式类和经典类两种情况,在新式类和经典类的定义中最主要的区别是在定义类的时候是否出现引用object;如:经典类:Class 类名::而新式类 ...

  3. Python新式类与经典类的区别

    1.新式类与经典类 在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于“新式类”,都会获得所有“新式类”的特性:反之,即不由任意内置类型派生出的类 ...

  4. python之继承、抽象类、新式类和经典类

    一.上节补充1.静态属性静态属性 : 类的属性,所有的对象共享这个变量 如果用对象名去修改类的静态属性:在对象的空间中又创建了一个属性,而不能修改类中属性的值 操作静态属性应该用类名来操作 例1:请你 ...

  5. python中的__new__与__init__,新式类和经典类(2.x)

    在python2.x中,从object继承得来的类称为新式类(如class A(object))不从object继承得来的类称为经典类(如class A()) 新式类跟经典类的差别主要是以下几点: 1 ...

  6. Python 新式类与经典类

    新式类,经典类 查询匹配 广度查询 横着对每个类进行查询 深度查询 无视平级类,直接寻找下级类 #python 3.0 #新式类 广度查询 #经典类 广度查询 #python 2.0 #新式类 广度查 ...

  7. Python新式类和经典类的区别

    @Python新式类和经典类的区别 class ClassicClass(): pass class NewStyleClass(object): pass x1 = ClassicClass() x ...

  8. Python类总结-继承-子类和父类,新式类和经典类

    子类和父类 class Father(object): #子类在使用super调用父类时,Father后面要加object --新式类 def __init__(self): self.Fname = ...

  9. Python之面向对象新式类和经典类

    Python之面向对象新式类和经典类 新式类和经典类的继承原理: 在Python3中,就只有新式类一种了. 先看Python3中新式类: 类是有继承顺序的: Python的类是可以继承多个类的,也就是 ...

  10. <转>Python中的新式/经典类的查找方式

    在学习到深度和广度的时候,懵了很久.后来看到这篇文章,恍然大悟.写的很好.特意转过来. 经典类: 只要有父类, 就会沿着一直找, 即使已经找过了~ 新式类: 在类继承的多个类拥有共同父类的情况下, 会 ...

随机推荐

  1. 腾讯云点播视频存储(Web端视频上传)

    官方文档 前言 所谓视频上传,是指开发者或其用户将视频文件上传到点播的视频存储中,以便进行视频处理.分发等. 一.简介 腾讯云点播支持如下几种视频上传方式: 控制台上传:在点播控制台上进行操作,将本地 ...

  2. 记一次解决CSS定位bug思路

    事因 网站中的遮罩层大都有一个问题,就是在这个遮罩层中滑动,里面的内容也会跟着滑动,我是这样想的,既然都有这个问题,干脆写一个通用的插件出来,省的每个还得单独处理.如果是单独处理这个问题是比较好解决的 ...

  3. tomcat 配置文件server.xml 详解 Connector Engine Host Context

    目录 一 server.xml 1.1 server 配置 1.2 service 配置 1.3 Executor 1.4 Connector 配置 1.5 Engine 其他tocmat 文章 一 ...

  4. 20-hadoop-pagerank的计算

    转: http://www.cnblogs.com/rubinorth/p/5799848.html 参考尚学堂视频 1, 概念( 来自百度百科) PageRank是Google专有的算法,用于衡量特 ...

  5. vuex数据管理-数据模块化

    对于vue这类mvvm框架来说,其核心就是组件与数据,因此做好相应的数据管理极为重要.这里分享下vuex数据模块化管理的方法,有利于搭建便于维护.协作的vue项目. vuex管理基本方法和使用 模块化 ...

  6. Charm Bracelet(01背包问题)

    题目链接: https://vjudge.net/problem/POJ-3624 题目描述: Bessie has gone to the mall's jewelry store and spie ...

  7. 手机调试 --- 通过chrome测试手机网站

     移动端有时候我们要调试手机网站. Chrome怎么调试手机页面呢? 毕竟有时候手机支持的JS度跟PC不一样.最开始就遇见了.手机端浏览器不支持执行string.includes. PC端支持该函数, ...

  8. 怎么在XY图表中添加注解(LightningChart控件为例)?

    场景: 折线图上有多个信号,每个信号都需要显示在自己的Y轴上.如何在屏幕的右侧显示每个信号的基本统计值?这里有为每个信号计算基本数据: 最小值,最大值,平均值. | |Signal 3........ ...

  9. .NET 简单导出CSV文件

    Response.ClearContent(); Response.AddHeader("content-disposition", "attachment; filen ...

  10. CentOS7 配置静态IP

    在mini安装完CentOS7后,如果想让电脑能够上网,则必须要进行网络配置. 本虚拟机使用NAT模式上网,网络配置步骤如下: ifconfig命令查到机器网卡: vi /etc/sysconfig/ ...