我在寻找NumPy中的arange和数组函数的源代码,但我找不到它:
https://github.com/numpy/numpy/search?utf8=%E2%9C%93&q=%22def+arange%22+path%3Anumpy%2Fcore&type=
谁能开导我?
最佳答案 numpy.array和numpy.arange是用C语言编写的.你可以说,因为当你看到它们时,它们会说“内置”:
>>> numpy.array
<built-in function array>
>>> numpy.arange
<built-in function arange>
这意味着没有def声明.相反,我们看看他们来自哪个模块:
>>> numpy.array.__module__
'numpy.core.multiarray'
>>> numpy.arange.__module__
'numpy.core.multiarray'
导航到相应的source file,并查看控制模块导出功能的array:
{"array",
(PyCFunction)_array_fromobject,
METH_VARARGS|METH_KEYWORDS, NULL},
...
{"arange",
(PyCFunction)array_arange,
METH_VARARGS|METH_KEYWORDS, NULL},
numpy.array和numpy.arange对应于该文件中的_array_fromobject和array_arange.但这并不是所有工作都发生的地方.您需要继续挖掘以找到所有相关代码.