歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Python 新式類與經典類的區別

Python 新式類與經典類的區別

日期:2017/3/1 9:47:42   编辑:Linux編程

從 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 的基類搜索機制是廣度優先遍歷。

Python 的詳細介紹:請點這裡
Python 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved