1. 程式人生 > 其它 >python2,python3定義類Class, Class(), Class(object)的區別

python2,python3定義類Class, Class(), Class(object)的區別

技術標籤:pythonpython

1. Python2

ClassA 和ClassA() 一致,稱為經典類(舊式類)old-style(classic-style),生成的類的type就是 < type ‘classobj’ >

ClassA(object):申明新式類, 它的type是 < type ‘type’ >

繼承object類主要目的是便於統一操作。在python 3.X中已經預設繼承object類

class A:
    pass

type(A)
<type 'classobj'>

class A(object):
    pass

type(A)
<type 'type'>

2. Python3

ClassA , ClassA(), ClassA(object)一致預設繼承object類。

>>> class A:
...     pass
... 
>>> type(A)
<class 'type'>
>>> class A(object):
...     pass
... 
>>> type(A)
<class 'type'>