`object.__init__` 的位置
Location of `object.__init__`
object.__init__
在 cpython 存储库中的什么位置?
我在 Objects/object.c
中搜索 __init__
,但没有结果。
似乎所有不可变数据类型都使用object.__init__
,所以我想知道它的实现。
Objects/object.c
是(大部分)object protocol 实现的地方,而不是 object
实现的地方。
object
在Objects/typeobject.c
中与type
一起实现,其__init__
方法在该文件中为object_init
。
(请注意,similar-sounding PyObject_Init
函数实际上与 object.__init__
完全无关。PyObject_Init
是一个通用辅助函数,它执行类型指针和引用计数初始化一个 newly-allocated 对象结构。)
object.__init__
在 cpython 存储库中的什么位置?
我在 Objects/object.c
中搜索 __init__
,但没有结果。
似乎所有不可变数据类型都使用object.__init__
,所以我想知道它的实现。
Objects/object.c
是(大部分)object protocol 实现的地方,而不是 object
实现的地方。
object
在Objects/typeobject.c
中与type
一起实现,其__init__
方法在该文件中为object_init
。
(请注意,similar-sounding PyObject_Init
函数实际上与 object.__init__
完全无关。PyObject_Init
是一个通用辅助函数,它执行类型指针和引用计数初始化一个 newly-allocated 对象结构。)