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吧
另外贴上实际运行的区别吧: