如何用Python内置object()创建对象及其实用场景
关于Python中
object()的使用说明 1. 如何使用object()创建对象?
直接调用object()函数即可创建实例,它不接受任何参数,用法非常简单:
# 创建一个object实例 obj = object()
这个实例仅拥有Python所有对象共有的基础方法(比如__repr__()、__eq__()),无法直接为它添加自定义属性(尝试obj.name = "test"会抛出AttributeError,因为object实例没有__dict__存储自定义属性)。你可以试试这些基础操作:
print(obj) # 输出类似 <object object at 0x1007a12d0> another_obj = object() print(obj.__eq__(another_obj)) # 输出False,因为是两个不同的实例
2. object()的使用场景
object()在日常业务代码中很少直接用到,但在特定场景下有其价值:
- 极简占位符:当你需要一个无任何额外功能的对象占位置时,比如字典里的默认值、测试中的极简实例:
# 用object()作为字典占位值 placeholder_map = {"pending": object(), "completed": object()} - 测试基础对象行为:验证仅依赖Python通用对象方法的逻辑,或者测试类型检查逻辑(所有Python对象都是
object的实例)。 - 类设计中的兼容/明确继承:在Python 3中所有类默认继承
object,但显式写class MyClass(object):可以明确类的继承关系,也能兼容Python 2的旧式类写法;在元类或高级类结构设计中,有时需要基于最基础的object构建类。 - 唯一标记对象:不同的
object()实例是唯一不相等的(除非是同一引用),且无法修改属性,可作为状态机中的特殊状态标识、函数返回的唯一标记值等。
内容的提问来源于stack exchange,提问作者Super Kai - Kazuya Ito
相关产品推荐
相关产品推荐

