Python 新式类与经典类的差异
发布时间:2021-11-20 17:28:12 所属栏目:教程 来源:互联网
导读:从 Python2.2 开始,Python 引入了 new style class。虽然从使用上看,new style class 与 classic class 没有太大的差别, 但是在实现上, 两者有很大的区别。比如,下文所展示的基类搜索机制上的不同。 #!/usr/bin/env python classic class class CA(): va
|
从 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 的基类搜索机制是广度优先遍历。 ![]() (编辑:江门站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


