Из Википедии, свободной энциклопедии
Перейти к навигации Перейти к поиску

Pyrex - это язык программирования, разработанный для помощи в создании модулей Python . Его синтаксис очень близок к Python. Цель состоит в том, чтобы упростить программистам Python написание кода поддержки, отличного от Python, обычно необходимого для взаимодействия модулей на языке, максимально приближенном к Python.

Сам Python предоставляет только C API для написания модулей расширения, что позволяет писать функции и типы данных на C. [ обсудить ] К ним затем можно получить доступ из Python. Таким образом, также можно обернуть функции и типы данных существующих библиотек C как объекты Python и, следовательно, сделать их доступными для Python.

Pyrex позволяет пользователю писать модули расширения на языке, подобном Python, который может напрямую обращаться к внешнему коду C. Сходство синтаксиса Pyrex с синтаксисом Python позволяет легко писать модули Python, поскольку нет необходимости изучать другой язык (например, C или C ++ ), и, возможно, нет необходимости писать какой-либо связующий код. Все, что необходимо, - это указать имена файлов заголовков C, перечисления , типы данных и функции, к которым требуется доступ в модуле. Затем их просто используют, как если бы они были объектами Python. Компилятор Pyrex автоматически сгенерирует необходимый связующий код и скомпилирует код Pyrex в рабочий модуль Python.

Существуют такие инструменты, как SWIG или ctypes библиотеки внешних функций Python, которые можно использовать для этой задачи, не требуя большого количества дополнительного кода, но это ограничивается предоставлением внешней библиотеки в коде Python. Если требуется корректировка API, связующий код снова придется писать вручную. Вот где вам подходит Pyrex.

См. Также [ править ]

  • Cython

Ссылки [ править ]

  1. ^ greg в cosc ​​(3 апреля 2002 г.). «ИНС: Pyrex - язык для написания модулей расширения Python» . Проверено 24 февраля 2014 года .

Внешние ссылки [ править ]

  • Официальный сайт