熱線電話:13121318867

登錄
首頁精彩閱讀python新式類和經典類的區別
python新式類和經典類的區別
2018-03-09
收藏

python新式類和經典類的區別

1)首先,寫法不一樣:

classA:passclassB(object):pass

2)在多繼承中,新式類采用廣度優先搜索,而舊式類是采用深度優先搜索。

3)新式類更符合OOP編程思想,統一了python中的類型機制。

Python 2.x中默認都是經典類,只有顯式繼承了object才是新式類

Python 3.x中默認都是新式類,不必顯式的繼承object

其次:

------新式類對象可以直接通過__class__屬性獲取自身類型:type

------繼承搜索的順序發生了改變,經典類多繼承屬性搜索順序: 先深入繼承樹左側,再返回,開始找右側;新式類多繼承屬性搜索順序: 先水平搜索,然后再向上移動

------新式類增加了__slots__內置屬性, 可以把實例屬性的種類鎖定到__slots__規定的范圍之中

------新式類增加了__getattribute__方法

class A(): def __init__(self): pass def save(self): print "This is from A" class B(A): def __init__(self): pass class C(A): def __init__(self): pass def save(self): print "This is from C" class D(B,C): def __init__(self): pass fun = D() fun.save() 經典類的答案: This is from A 新式類的答案: This is from C

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢