object()是 Python 的内置函数之一,它返回一个新的object实例;object是所有类的基类,即所有 Python 类都直接或间接地继承自object类。
class MyClass(object): # 显示继承 object
pass
class MyClass: # 隐式继承 object
pass
object类是所有类的基类:
class MyClass:
pass
# MyClass 继承自 object 类
print(isinstance(MyClass, object)) # 输出 True
object实例不能添加属性,但object的子类可以:
obj = object()
# obj.x = 123 # AttributeError: 'object' object has no attribute 'x'
class MyObject(object):
pass
obj = MyObject()
obj.x = 123
print(obj.x) # 123
所有的内置数据类型都继承自object:
print(isinstance(123.456, object)) # True
print(isinstance("hello", object)) # True
print(isinstance([], object)) # True
print(isinstance({}, object)) # True
print(isinstance((), object)) # True
object提供一些了特殊的方法,所有子类都将继承这些方法:
for name in dir(object()):
print(name)
程序输出
__class__ __delattr__ __dir__ __doc__ __eq__ __format__ __ge__ __getattribute__ __getstate__ __gt__ __hash__ __init__ __init_subclass__ __le__ __lt__ __ne__ __new__ __reduce__ __reduce_ex__ __repr__ __setattr__ __sizeof__ __str__ __subclasshook__