Python中新式類和經典類的區別

2021-07-23 16:48:56 字數 562 閱讀 8552

本文參考python核心程式設計一書
class

mynewobjecttype

(bases):

'define mynewobjecttype class'

class_suite #類體

新式類和經典類的最大不同之處在於,所有的新式類必須至少乙個父類,引數bases可以是乙個或者多個用於繼承的父類。

object是所有類之母,如果你的類沒有繼承其它任何的父類,object將作為預設的父類,它作為所有類繼承結構的最上層,如果你沒有直接或者間接的子類化乙個物件,那麼你就定義了乙個經典類,這裡所說的沒有子類化乙個物件,也就說你沒將任何乙個類作為你的父類:

class

mynewobjecttype:

'define mynewobjecttype classic class'

class_suite

如上面的**所示,如果你沒有指定乙個父類,或者子類化時沒有指定基本類,你這時建立的類就是乙個經典類,經典類已經過時了,以後最好使用新式類。

Python新式類和經典類的區別

從python2.2開始,python 引入了 new style class 新式類 新式類跟經典類的差別主要是以下幾點 新式類物件可以直接通過 class 屬性獲取自身型別 type python view plain copy coding utf 8 class e 經典類 pass cla...

python新式類和經典類的區別

父類或者以上有繼承的object就是新式類 沒有的則是經典類 1,新式類和經典類的區別 廣度優先和深度優先,這主要是在多類繼承的時候會使用到,如下多類繼承的d類對比 新式類 和 經典類 的區分在python 3之後就已經不存在,在python 3.x之後的版本,因為所有的類都派生自內建型別objec...

Python新式類和經典類的區別

從python2.2開始,python 引入了 new style class 新式類 新式類跟經典類的差別主要是以下幾點 新式類物件可以直接通過 class 屬性獲取自身型別 type python view plain copy coding utf 8 class e 經典類 pass cla...