设为首页 加入收藏

TOP

Python 新式类与经典类的区别
2014-11-24 01:04:13 来源: 作者: 【 】 浏览:3
Tags:Python 新式 经典 区别

从 Python2.2 开始,Python 引入了 new style class。虽然从使用上看,new style class 与 classic class 没有太大的差别, 但是在实现上, 两者有很大的区别。比如,下文所展示的基类搜索机制上的不同。


#!/usr/bin/env python
""" classic class """
class CA():
var = 'a'
class CB(CA):
pass
class CC(CA):
var = 'c'
class CD(CB, CC):
pass
""" new-style class """
class NA(object):
var = 'a'
class NB(NA):
pass
class NC(NA):
var = 'c'
class ND(NB, NC):
pass
if __name__ == "__main__":
print CD.var
print ND.var


运行上述代码,CD.var 的值将是 'a', 而 ND.var 的值将是 'c'。这说明 classic class 的基类搜索机制是深度优先遍历,而 new style class 的基类搜索机制是广度优先遍历。


推荐阅读:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C#基于Linq和反射实现数据持久化.. 下一篇Java操作HBase

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: