Python object() 函数是一个返回新对象的内置函数。此对象是 Python 中所有类的基础,它缺少特征和属性。请注意,无法向此对象添加任何新属性或方法。
当我们调用 object() 函数时,它会创建一个基对象类的实例,默认情况下该实例为空。在 Python 中,我们创建的每个类都隐式继承自该类,这意味着任何类的任何实例也是对象类的实例。
语法
以下是 Python object() 函数的语法 -
object()
参数
Python object() 函数不接受任何参数。
返回值
Python object() 函数返回一个新的无特征对象。
object() 函数示例
练习以下示例来理解 Python 中 object() 函数的使用:
示例:使用 object() 函数创建对象的实例
在下面的代码中,实例化了 object 类的实例。然后,我们使用 type() 函数检查此对象的类型。
newObject = object()
checker = type(newObject)
print("The type of object of object class:", checker)
以下是上述代码的输出 -
The type of object of object class: <class 'object'>
示例:使用 object() 函数
以下示例显示了 Python object() 函数的基本用法,其中我们创建了一个新的、没有类方法或属性的无特征对象实例。
newObject = object()
print(newObject)
当我们运行上述程序时,它会产生以下结果——
<object object at 0x780e80404510>
示例:检查 Class 是否是另一个类的子类
object() 函数可用于检查特定类是另一个类的直接或间接子类。在下面的代码中,我们检查类 “newClass” 是否是 “object” 的子类。由于 Python 中的所有类都继承自对象类,因此代码将返回 True。
class newClass:
pass
checker = issubclass(newClass, object)
print("Is the newClass a subclass of object:", checker)
以下是上述代码的输出 -
Is the newClass a subclass of object: True
示例:方法解析顺序链中 object() 的顺序
object() 函数位于 Python 类中方法解决顺序链的末尾。为了演示相同的内容,我们使用了 “mro()” 方法,该方法列出了方法的解析顺序。
class newClass:
pass
class newChildClass(newClass):
pass
print("The order of method resolution:")
print(newChildClass.mro())
上述代码的输出如下 -
The order of method resolution:
[<class '__main__.newChildClass'>, <class '__main__.newClass'>, <class 'object'>]
[<class '__main__.newChildClass'>, <class '__main__.newClass'>, <class 'object'>]