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'
перейдите к соответствующему исходному файлу и посмотрите на массив , управляющий экспортируемыми функциями модуля:
{"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
в этом файле. Это не то, где вся работа происходит, все же. Вам нужно будет продолжать копать, чтобы найти весь соответствующий код.