1)首先,写法不一样:

class A:

pass

class B(object):

2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索。

3)新式类更符合OOP编程思想,统一了python中的类型机制。

Python 2.x中默认都是经典类,只有显式继承了object才是新式类

Python 3.x中默认都是新式类,不必显式的继承object

--新式类对象可以直接通过__class__属性获取自身类型:type

--继承搜索的顺序发生了改变,经典类多继承属性搜索顺序: 先深入继承树左侧,再返回,开始找右侧;新式类多继承属性搜索顺序: 先水平搜索,然后再向上移动

--新式类增加了__slots__内置属性, 可以把实例属性的种类锁定到__slots__规定的范围之中

--新式类增加了__getattribute__方法

class A():

def __init__(self):

pass

def save(self):

print "This is from A"

class B(A):

def __init__(self):

pass

class C(A):

def __init__(self):

pass

def save(self):

print "This is from C"

class D(B,C):

def __init__(self):

pass

fun = D()

fun.save()

经典类的答案: This is from A

新式类的答案: This is from C

钻石继承

如果子类继承自两个单独的超类,而那两个超类又继承自同一个公共基类,那么就构成了钻石继承体系。

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

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

python中新式类和经典类

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

python单例模式控制成只初始化一次,常规型的python单例模式在新式类和经典类中的区别。

单例模式的写法非常多,但常规型的单例模式就是这样写的,各种代码可能略有差异,但核心就是要搞清楚类属性 实例属性,就很容易写出来,原理完全一模一样. 如下: 源码: class A(object): d ...

Python新式类与经典类的区别

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

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

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

python2中的__new__与__init__,新式类和经典类-乾颐堂

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

python基础===新式类与经典类

首先: Python 2.x中默认都是经典类,只有显式继承了object才是新式类 Python 3.x中默认都是新式类,不必显式的继承object 这两种类的区别: 新式类重定义的方法更多,当然这不 ...

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

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

随机推荐

校园网搭建HUSTOJ记录

上学期和网管中心的老师说过很多次--要在校园网上搭OJ,当时那边老师说要等"虚拟化搞好了以后才能搭".直到上周,终于在校园网上申请到了一个虚拟主机,4核,10G内存,100G硬盘, ...

计算机系列:CUDA 深入研究

Copyright © 1900-2016, NORYES, All Rights Reserved. http://www.cnblogs.com/noryes/ 欢迎转载,请保留此版权声明. -- ...

Linux curl命令参数详解--转载

linux curl是通过url语法在命令行下上传或下载文件的工具软件,它支持http,https,ftp,ftps,telnet等多种协议,常被用来抓取网页和监控Web服务器状态. 一.Linux ...

xp多网卡静态路由设置方法

xp多网卡静态路由设置方法 一.多个IP都在同一网段或VALN.这类情况没什么好说的,在各块网卡的本地连接属性里设置好IP地址.子网掩码和默认网关即可. 二.多个IP属于不同网段或VLAN.这时如果按 ...

为iPhone 6设计自适应布局

Apple从iOS 6加入了Auto Layout后开始就比较委婉的开始鼓励.建议开发者使用自适应布局,但是到目前为止,我感觉大多数开发者一直在回避这个问题,不管是不是由于历史原因造成的,至少他们在心 ...

tomcat设置端口号,访问指定ip就访问指定项目

1.修改背景: A.通常我们访问我们的web应用格式为: http://ip:端口号/项目名称 例如: http://127.0.0.1:8080/projectName B.如果想直接输入&quot ...

IntelliJ IDEA(十一) :Debug的使用

Debug模式是开发人员必会的一项调试程序的技能,用来追踪代码的运行流程,线上问题追踪,程序运行异常定位调试,以及在运行过程中参数的变化.IDEA的debug对于新手如何快速上手呢? 一.基本介绍 本 ...

php字符串截取

保留字符串前面的 substr($str,start[,$length]); start  为负数 则从后面开始截取 leng为负数则返回的字符串将从 $str 结尾处向前数第 start 个字符开始 ...

MySQL联结查询和组合查询

联结查询 1.关系表 主键:一列或一组列,能够唯一区分表中的每一行,用来表示一个特定的行 外键:为某个表中的一列,包含另一个表的主键,定义量表的关系. 2.创建联结 规定要连接的表和他们如何关联即可 ...

python中 将你的名字转化成为二进制并输出

1 name = "吴彦祖" 2 for i in name: 3 i_by = bytes(i, encoding = "utf-8") 4 for i_bi ...

python新式类和经典类区别_Python中新式类和经典类的区别,钻石继承相关推荐

  1. python包和库的区别_python中模块、包、库的区别和使用

    模块:就是.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块. 包:在模块之上的概念,为了方便管理而将文件进行打包.包目录下第一个文件便是 __init__.py,然后是一些模块文件和 ...

  2. python的数组和元组区别_python中数组,列表,元组的区别、定义、功能

    准确的来说,在python中是没有数组类型的,python中取而代之的是列表和元组.列表比元组好用,因为元组一旦定义就没法修改.而列表不仅可以和数组一样按索引访问,还有一堆的功能. 列表: (1)添加 ...

  3. python filter map区别_python中filter、map、reduce的区别

    python中有一些非常有趣的函数,今天也来总结一下,不过该类的网上资料也相当多,也没多少干货,只是习惯性将一些容易遗忘的功能进行整理. lambda 为关键字.filter,map,reduce为内 ...

  4. python 实例方法和类方法的区别_python中实例方法,类方法和静态方法的区别。...

    实例方法,必须要创建实例才能调用,里面有self关键字,有初始化函数必须对初始化函数进行传参. 类方法,可以直接类名.方法名直接调用,也可以创建实例调用.里面有cls关键字,调用时,直接类名.方法名, ...

  5. python3新式类_Python中新式类与经典类的区别详析

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

  6. 求python一个类与对象的代码_Python基础系列(五)类和对象,让你更懂你的python代码...

    首先,非常感谢各位打开本博文,本博文是Python入门基础系列文章之一,Python目前是非常火的编程工具,其实作为编程不在只是程序员的专利,每一个人在日常的工作中.学习中都会或多或少的要用到一些工具 ...

  7. python类与方法与函数_Python 中的函数与类的方法

    在 python 中,def 定义的函数与类中的方法有很大的不同,两者是不同的类型. >>> def foo(): ... print "foo" ... > ...

  8. python中的类怎么定义怎么用_python中怎么定义一个类

    什么是类? 类用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 什么是方法? 类中的函数即为方法 如何定义一个类? 定义类,语法格式如下:clas ...

  9. python 创建对象时自动调用的函数_Python自动测试(6)——类和对象,python,自动化,六类...

    类和函数对象概念 类 :同一类的事物,是个抽象的概念(属性.方法) 对象 :符合类描述的具体存在的 例如把电脑当做是一个类,然后你现在所使用的具体存在的电脑就是对象. 为什么要封装类?举个例子,ATM ...

最新文章

  1. IPC之IPC_PRIVATE与ftok比较
  2. 039_External Data Source(转载)
  3. 模板实现栈队列以及链表
  4. 五个实用又有趣的网站
  5. 【服务器】微信小程序转qq小程序
  6. Network Virtualization In Solaris 11
  7. c语言读取gps模块数据类型,GPS数据读取与处理(一)之GPS模块的数据格式
  8. 列宽一字符等于多少厘米_Excel中行高多少等于1厘米?列宽多少等...
  9. java pdf 转图片
  10. 工业物联网企业logo设计思路分析
  11. Servlet生命周期详解
  12. CTGU实验5_2-创建借书触发器
  13. Python 淘宝商品价格爬取(requests库+正则表达式)
  14. ESP8266 带 BMP 180 刷 ESPEasy 通过MOTT协议连接 docker 里的 domoticz 查看气温 气压 监控结果
  15. Apache+php安装整理
  16. 服务端socket程序
  17. 基于vs2019的openGL项目配置
  18. 两位数合并成一个四位数的C++代码
  19. win10企业版 LTSC 安装 MSIX(msixbundle) 文件
  20. (信贷风控七)申请评分卡模型Python实现(图文+代码实现)

热门文章

  1. .Net Core 文件的上传下载
  2. SAP ABAP——数据类型(一)【数据类型概要及分类】
  3. 斯坦福教授告诉你:什么是多任务学习「 CS330 笔记 (二) 」
  4. 避免项目延期,有效推进项目进度的4大关键方法
  5. 这两所985大学,共享同一位校长!校方:属实
  6. call apply bind 的作用和区别
  7. idea显示console控制台
  8. R语言|clusterprofile超几何分布富集分析 GO,KEGG富集分析,循环Fisher‘s test
  9. 三维计算机动画,三维计算机动画的设计
  10. python3 ACM模式的输入输出例子教学