1.经典类是直接声明的。使用dir()方法也可以看出新式类中定义很多新的属性和方法,而经典类就3个

class A:def __init__(self):pass
dir(A)
['__doc__', '__init__', '__module__']

2.新式类是在创建的时候继承内置object对象(或者是从内置类型,如list,dict等)

class B(object):def __init__(self):pass
dir(B)
['__class__','__delattr__','__dict__','__doc__','__format__','__getattribute__','__hash__','__init__','__module__','__new__','__reduce__','__reduce_ex__','__repr__','__setattr__','__sizeof__','__str__','__subclasshook__','__weakref__']

3. python2.7下经典类搜索顺序-----深度优先顺序

class A:def __init__(self):passdef save(self):print("This is from A")class B(A):def __init__(self):passdef save(self):print("This is from B")class C(A):def __init__(self):passdef save(self):print("This is from C")class D(B, C):def __init__(self):pass
#     def save(self):
#         print("This is from D")d = D()
d.save()
This is from B
print('-------------------------------------这是分隔线---------------------------')
class A:def __init__(self):passdef save(self):print("This is from A")class B(A):def __init__(self):pass
#     def save(self):
#         print("This is from B")class C(A):def __init__(self):passdef save(self):print("This is from C")class D(B, C):def __init__(self):pass
#     def save(self):
#         print("This is from D")d = D()
d.save()
This is from A

4. Python2.7下新式类搜索顺序-----广度优先顺序

class A(object):def __init__(self):passdef save(self):print("This is from A")class B(A):def __init__(self):passdef save(self):print("This is from B")class C(A):def __init__(self):passdef save(self):print("This is from C")class D(B, C):def __init__(self):pass
#     def save(self):
#         print("This is from D")d = D()
d.save()
This is from B
print('-------------------------------------这是分隔线---------------------------')
class A(object):def __init__(self):passdef save(self):print("This is from A")class B(A):def __init__(self):pass
#     def save(self):
#         print("This is from B")class C(A):def __init__(self):passdef save(self):print("This is from C")class D(B, C):def __init__(self):pass
#     def save(self):
#         print("This is from D")d = D()
d.save()
This is from C

python3中的新式类与经典类对比相关推荐

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

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

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

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

  3. python新式类和经典类区别_Python中新式类和经典类的区别,钻石继承

    1)首先,写法不一样: class A: pass class B(object): 2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索. 3)新式类更符合OOP编程思想,统一了pyt ...

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

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

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

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

  6. python中新式类和经典类

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

  7. 新式类和经典类的区别类的特殊方法单例模式

    目录: 新式类和经典类的区别 重写特殊的构造方法 类的特殊方法 单例模式原理及作用 新式类和经典类的区别: 1)首先,写法不一样: class A: #经典类写法passclass B(object) ...

  8. 面向对象【day07】:新式类和经典类(八)

    本节内容 1.概述 2.类的多继承 3.经典类VS新式类 4.总结 一.概述 在python还支持多继承,但是一般我们很少用,有些语言干脆就不支持多继承,有多继承,就会带来两个概念,经典类和新式类,下 ...

  9. python新式类和经典类的区别?

    在python里凡是继承了object的类,都是新式类. Python2里面继承object的是新式类,没有写父类的是经典类. Python3里只有新式类. 经典类目前在Python里基本没有应用,多 ...

  10. 2021年了你还不了解新式类与经典类?

    "新式类" 与 "经典类" 我们所接触到的类,都是 "新式类"( new-style classes ).同时,在 Python 2.X 相 ...

最新文章

  1. 题目1201:二叉排序树
  2. 若能回到五年前,我会告诉自己这些创业道理
  3. 电脑画画软件_手机原来可以画出这么美的插画!|手机画画软件app篇
  4. CF198D Cube Snake(三维空间/增量构造)
  5. Linux 的发行版 Ubuntu 的发展简史
  6. 20150204--JS巩固与加强2-01
  7. 新浪SAE sae_debug保存日志
  8. 锚框 anchor box bounding box 动手学深度学习v2 pytorch
  9. Jvm虚拟机下载和安装教程
  10. 用Raspberry Pi作AirPlay服务端
  11. 【C语言】输出杨辉三角形 - 杨辉直角三角形(杨辉三角最佳算法) 输出杨辉三角前十行
  12. AWSome Day 2019 线上云技术课堂(2)
  13. 学生用台灯什么光对眼睛好?开学季精选真正适合孩子的护眼台灯
  14. linux下面用ssh替代rsh
  15. 【软件测试】POST请求包含哪些参数
  16. Hadoop新手篇:hadoop入门基础教程 1
  17. stm32专题二十五:基本定时器原理
  18. spoolsv出错,无法使用打印服务的解决办法
  19. 关于springboot整合log4j2的史上最全配置解释
  20. 新西兰 计算机 转专业,新西兰本科毕业之后怎么转专业

热门文章

  1. [SinGuLaRiTy] 贪心题目复习
  2. motan源码分析二:使用spi机制进行类加载
  3. C# 中const和readonly的区别
  4. PHP new self和new static的区别
  5. JavaScript 各种遍历方式详解
  6. UISegmentControl
  7. js ZeroClipboard 拷贝文本到剪贴板
  8. AngularJS的使用方法
  9. 单卡手机怎么变双卡双待全过程
  10. SDP 协议分析 http://www.cnblogs.com/qingquan/archive/2011/08/02/2125585.html