Расширение и встраивание интерпретатора Python¶Extending and Embedding the Python Interpreter
| Версия: | 3.0 |
|---|---|
| Дата: | 14 февраля 2009 |
В этом документе описывается, как писать модули на C или C++ для расширения интерпретатора Python новыми модулями. Такие модули могут определять новые функции, а также новые типы объектов и их методы. Документ также описывает, как встраивать интерпретатор Python в другое приложение для использования в качестве языка расширения. Наконец, показано, как компилировать и компоновать модули расширения, чтобы их можно было динамически загружать (во время выполнения) в интерпретатор, если базовая операционная система поддерживает эту возможность.
В этом документе предполагается базовое знание Python. Для неформального введения в язык, см. Руководство по Python. Справочник по языку Python дает более формальное определение языка. Стандартная библиотека Python документирует существующие типы объектов, функции и модули (как встроенные, так и написанные на Python), которые обеспечивают широкий спектр применения языка.
За подробным описанием всего Python/C API см. отдельное Справочное руководство по Python/C API.
- Расширение Python с помощью C или C++Extending Python with C or C++
- Простой примерA Simple Example
- Интермеццо: ошибки и исключенияIntermezzo: Errors and Exceptions
- Возвращение к примеруBack to the Example
- Таблица методов модуля и функция инициализацииThe Module’s Method Table and Initialization Function
- Компиляция и компоновкаCompilation and Linkage
- Вызов функций Python из CCalling Python Functions from C
- Извлечение параметров в функциях расширенияExtracting Parameters in Extension Functions
- Именованные параметры для функций расширенияKeyword Parameters for Extension Functions
- Построение произвольных значенийBuilding Arbitrary Values
- Счётчики ссылокReference Counts
- Написание расширений на C++Writing Extensions in C++
- Предоставление C API для модуля расширенияProviding a C API for an Extension Module
- Определение новых типовDefining New Types
- Сборка расширений на C и C++ с помощью distutilsBuilding C and C++ Extensions with distutils
- Сборка расширений C и C++ в WindowsBuilding C and C++ Extensions on Windows
- Встраивание Python в другое приложениеEmbedding Python in Another Application
- Встраивание очень высокого уровняVery High Level Embedding
- За пределами встраивания очень высокого уровня: обзорBeyond Very High Level Embedding: An overview
- Чистое встраиваниеPure Embedding
- Расширение встроенного PythonExtending Embedded Python
- Встраивание Python в C++Embedding Python in C++
- Требования к компоновкеLinking Requirements