Использование NumPy C-API# Как расширить NumPy Написание модуля расширения Требуемая подпрограмма Определение функций Функции без аргументов ключевых слов Функции с аргументами-ключевыми словами Подсчёт ссылок Работа с объектами массивов Преобразование произвольного объекта последовательности Создание совершенно нового ndarray Доступ к памяти ndarray и элементам ndarray Пример Использование Python в качестве связующего звена Вызов других скомпилированных библиотек из Python Сгенерированные вручную обёртки F2PY Cython Комплексное сложение в Cython Фильтр изображения в Cython Заключение ctypes Наличие общей библиотеки Загрузка общей библиотеки Преобразование аргументов Вызов функции ndpointer Полный пример Заключение Дополнительные инструменты, которые могут быть полезны SWIG SIP Boost Python Pyfort Создание собственной универсальной функции Создание новой универсальной функции Пример расширения без ufunc Пример NumPy ufunc для одного типа данных Пример NumPy ufunc с несколькими типами данных Пример NumPy ufunc с несколькими аргументами/возвращаемыми значениями Пример NumPy ufunc с аргументами структурированного типа массива Помимо основ Итерация по элементам массива Базовая итерация Итерация по всем осям, кроме одной Итерация по нескольким массивам Трансляция (broadcasting) по нескольким массивам Пользовательские типы данных Добавление нового типа данных Регистрация функции приведения типов Регистрация правил приведения типов Регистрация цикла ufunc Подтипизация ndarray в C Создание подтипов Особенности подтипирования ndarray Метод __array_finalize__ ndarray.__array_finalize__ Атрибут __array_priority__ ndarray.__array_priority__ Метод __array_wrap__ ndarray.__array_wrap__