NumPy C-API
NumPy предоставляет C-API, позволяющий расширять систему и получать доступ к объекту массива для использования в других процедурах. Лучший способ по-настоящему понять C-API — это прочитать исходный код. Однако, если вы не знакомы с исходным кодом на языке C, это может быть сложно на начальном этапе. Будьте уверены, что с практикой задача станет проще, и вы можете удивиться, насколько простым может быть понимание C-кода. Даже если вы не считаете, что можете писать C-код с нуля, гораздо проще понять и изменить уже написанный исходный код, чем создать его de novo.
Расширения Python особенно просты для понимания, поскольку все они имеют очень похожую структуру. Надо признать, что NumPy — это не тривиальное расширение Python и может потребовать немного большего изучения, чтобы понять его. Это особенно верно из-за методов генерации кода, которые упрощают поддержку очень похожего кода, но могут сделать код несколько менее читабельным для начинающих. Тем не менее, немного настойчивости, и код станет понятным. Надеюсь, это руководство по C-API поможет в процессе ознакомления с работой на уровне компиляции, которую можно выполнить с NumPy, чтобы выжать последнюю каплю необходимой скорости из вашего кода.
- Типы Python и C-структуры
- Конфигурация системы
- API типов данных
-
API массивов
- Структура массива и доступ к данным
- Создание массивов
- Обработка типов
- Флаги массива
- Альтернативный API метода массива
- Функции
- Вспомогательные данные с семантикой объектов
- Итераторы массивов
- Расширение (многочисленные итераторы)
- Итератор окрестностей
- Массированные скаляры
- Описатели типов данных
- Утилиты преобразования
- Разное
- API итератора массивов
- API UFunc
- API обобщенных универсальных функций
- Ядро NumPy
- Устаревшие API C
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.17.0/reference/c-api.html