До сих пор в этой главе мы рассматривали лишь одну половину интеграции Python/C: вызов функций C из Python. Этот способ интеграции является, пожалуй, наиболее широко используемым — он позволяет программистам ускорять выполнение программ, переводя их на C, и использовать внешние библиотеки, создавая для них обертки в виде модулей расширений и типов на C. Но столь же полезным может оказаться и обратное: вызов Python из C. Путем реализации отдельных компонентов приложения на встраиваемом программном коде Python мы даем возможность изменять их на месте, не поставляя заказчику весь программный код системы.
В данном разделе рассказывается об этой второй стороне интеграции Py- thon/C. Здесь говорится об интерфейсах C к Python, позволяющих программам, написанным на C-совместимых языках, выполнять программный код на языке Python. В этом режиме Python выступает в качестве встроенного управляющего языка (или, как иногда говорят, «макроязыка»). Хотя встраивание представляется здесь, по большей части, изолированно, нужно помнить, что лучше всего рассматривать поддержку интеграции в Python как единое целое. Структура системы обычно определяет соответствующий подход к интеграции: расширения C, вызовы встроенных функций или то и другое вместе. В завершение этой главы мы обсудим нескольких крупных платформ интеграции, таких как Jython и IronPython, которые предоставляют более широкие возможности интеграции компонентов.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, II том, 2011