標籤:
Python中type與Object的區別在查看了Python的API後,總算明白了。現在總結如下:
先來看object的說明:
Python中關於object的說明很少,甚至只有一句話:
- class object
- The most base type
從介紹上看這也是Python對類型統一做出的努力。所以這裡的object與Java的Object類有著異曲同工之妙,而且可以推測這個object很可能就是一個定義了一個類型的"空類"
再來看type的說明:
- class type(object)
- type(object) -> the object‘s type
- type(name, bases, dict) -> a new type
-
- Methods defined here:
-
- __call__(...)
- x.__call__(...) <==> x(...)
- __cmp__(...)
- x.__cmp__(y) <==> cmp(x,y)
- __delattr__(...)
- x.__delattr__(‘name‘) <==> del x.name
- __getattribute__(...)
- x.__getattribute__(‘name‘) <==> x.name
- __hash__(...)
- x.__hash__() <==> hash(x)
- __repr__(...)
- x.__repr__() <==> repr(x)
- __setattr__(...)
- x.__setattr__(‘name‘, value) <==> x.name = value
- __subclasses__(...)
- __subclasses__() -> list of immediate subclasses
- mro(...)
- mro() -> list
- return a type‘s method resolution order
-
自從大家應該明白了type和object的區別吧。如果大家平時在定義類的時候,想儘可能的偷懶,可以直接從type繼承,否則還是建議繼承object吧
另外貼上實際啟動並執行區別吧:
Python中type與Object的區別