歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

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

Copyright © Linux教程網 All Rights Reserved