python3中的新式类与经典类对比
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中的新式类与经典类对比相关推荐
- python3新式类_Python中新式类与经典类的区别详析
1.新式类与经典类 在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于"新式类",都会获得所有"新式类"的 ...
- python单例模式控制成只初始化一次,常规型的python单例模式在新式类和经典类中的区别。...
单例模式的写法非常多,但常规型的单例模式就是这样写的,各种代码可能略有差异,但核心就是要搞清楚类属性 实例属性,就很容易写出来,原理完全一模一样. 如下: 源码: class A(object):de ...
- python新式类和经典类区别_Python中新式类和经典类的区别,钻石继承
1)首先,写法不一样: class A: pass class B(object): 2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索. 3)新式类更符合OOP编程思想,统一了pyt ...
- python中新式类和经典类的区别
1.新式类和经典类 在Python 2及以前的版本中,由任意内置类型派生出的类(只要一个内置类型位于类树的某个位置),都属于"新式类",都会获得所有"新式类"的 ...
- python中的__new__与__init__,新式类和经典类(2.x)
在python2.x中,从object继承得来的类称为新式类(如class A(object))不从object继承得来的类称为经典类(如class A()) 新式类跟经典类的差别主要是以下几点: 1 ...
- python中新式类和经典类
python中的类分为新式类和经典类,具体有什么区别呢?简单的说, 1.新式类都从object继承,经典类不需要. Python 2.x中默认都是经典类,只有显式继承了object才是新式类 Pyth ...
- 新式类和经典类的区别类的特殊方法单例模式
目录: 新式类和经典类的区别 重写特殊的构造方法 类的特殊方法 单例模式原理及作用 新式类和经典类的区别: 1)首先,写法不一样: class A: #经典类写法passclass B(object) ...
- 面向对象【day07】:新式类和经典类(八)
本节内容 1.概述 2.类的多继承 3.经典类VS新式类 4.总结 一.概述 在python还支持多继承,但是一般我们很少用,有些语言干脆就不支持多继承,有多继承,就会带来两个概念,经典类和新式类,下 ...
- python新式类和经典类的区别?
在python里凡是继承了object的类,都是新式类. Python2里面继承object的是新式类,没有写父类的是经典类. Python3里只有新式类. 经典类目前在Python里基本没有应用,多 ...
- 2021年了你还不了解新式类与经典类?
"新式类" 与 "经典类" 我们所接触到的类,都是 "新式类"( new-style classes ).同时,在 Python 2.X 相 ...
最新文章
- 题目1201:二叉排序树
- 若能回到五年前,我会告诉自己这些创业道理
- 电脑画画软件_手机原来可以画出这么美的插画!|手机画画软件app篇
- CF198D Cube Snake(三维空间/增量构造)
- Linux 的发行版 Ubuntu 的发展简史
- 20150204--JS巩固与加强2-01
- 新浪SAE sae_debug保存日志
- 锚框 anchor box bounding box 动手学深度学习v2 pytorch
- Jvm虚拟机下载和安装教程
- 用Raspberry Pi作AirPlay服务端
- 【C语言】输出杨辉三角形 - 杨辉直角三角形(杨辉三角最佳算法) 输出杨辉三角前十行
- AWSome Day 2019 线上云技术课堂(2)
- 学生用台灯什么光对眼睛好?开学季精选真正适合孩子的护眼台灯
- linux下面用ssh替代rsh
- 【软件测试】POST请求包含哪些参数
- Hadoop新手篇:hadoop入门基础教程 1
- stm32专题二十五:基本定时器原理
- spoolsv出错,无法使用打印服务的解决办法
- 关于springboot整合log4j2的史上最全配置解释
- 新西兰 计算机 转专业,新西兰本科毕业之后怎么转专业
热门文章
- [SinGuLaRiTy] 贪心题目复习
- motan源码分析二:使用spi机制进行类加载
- C# 中const和readonly的区别
- PHP new self和new static的区别
- JavaScript 各种遍历方式详解
- UISegmentControl
- js ZeroClipboard 拷贝文本到剪贴板
- AngularJS的使用方法
- 单卡手机怎么变双卡双待全过程
- SDP 协议分析 http://www.cnblogs.com/qingquan/archive/2011/08/02/2125585.html