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. 专访小邪:从十年技术之路看阿里技术体系的变革
  2. 2020年第十五届全国大学生智能汽车竞赛山东赛区成绩统计
  3. 复用 TensorFlow 模型
  4. SQL Server 自增字段重置
  5. Netty之自定义编码器MessageToMessageEncoder类
  6. ASP.NET Core 中的那些认证中间件及一些重要知识点
  7. 解决MySQL8小时自动断开连接的问题(DBCP配置)
  8. 实验5.2 动态内存分配生成动态数组完成矩阵转置
  9. python调用函数获取最开始的异常_Python使用sys.exc_info()方法获取异常信息
  10. amd的处理器能兼容idea么_AMD新一代CPU不向下兼容,究竟意味着什么?
  11. c语言课设代写一般多少钱_海南彩礼钱一般给多少 海南娶媳妇要多少钱
  12. 0-Day CI : 我是Linux内核质检员
  13. ps放大图片后变模糊怎么办,如何变清晰?
  14. Element-UI Select 下拉框 根据汉字拼音过滤选择选项(使用filter-method,filterable属性)
  15. Tenth season eleventh episode,Ross is Monica‘s first kiss?????the stripper cried?????
  16. Linux的基本学习(四)——磁盘与文件系统管理
  17. 这世界上你最在乎的人
  18. Chocolatey - Software Management for Windows
  19. 从技术出发 | 有孚网络吕鑫:生信海量数据管理的实践与探讨
  20. 认证服务器,资源服务器

热门文章

  1. IASetIndexBuffer Offset
  2. Linux基础 30分钟GDB调试快速突破
  3. 你了解的技术宅是这样吗?
  4. ng-repeat根据多个字段排序
  5. 虚拟化基础架构Windows 2008篇之1-虚拟化基础服务概述
  6. Java基础—ClassLoader的理解
  7. 20多岁大专生吐槽:面试39岁同济大学毕业的测试专家,对方却连简单编程题都不会!...
  8. 某大厂程序员抱怨:“大厂镀金”是鬼话!从大厂裸辞后,面阿里、字节全都挂掉,连货拉拉都不要自己!...
  9. 揭秘 Uber API 网关的架构,建议收藏!
  10. 短 URL 服务的设计以及实现