首页 > 解决方案 > 在哪里可以查看内置 Python 方法 id() (Python 3.x) 的代码?

问题描述

在哪里可以查看内置 Python 方法 id() (Python 3.x) 的代码?

我一直在 Python 的 GitHub 页面上搜索它,但没有任何运气。我查看了与此相关的其他问题,但找不到具体的方法 id()。

我想我会看看这里是否有人知道该方法的代码在哪里。

标签: pythonpython-3.xcpythonpython-internals

解决方案


像大多数内置名称一样,该id()函数在Python/bltinmodule.c源文件中定义:

static PyObject *
builtin_id(PyModuleDef *self, PyObject *v)
/*[clinic end generated code: output=0aa640785f697f65 input=5a534136419631f4]*/
{
    return PyLong_FromVoidPtr(v);
}

这使用Python C-API 函数PyLong_FromVoidPtr()将指针引用的 Python 对象的地址v转换为 Pythonint对象(首先使用系统特定的转换为 Cunsigned longunsigned long long整数


推荐阅读