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