Pythonクイックリファレンス 第4版
by Alex Martelli, Anna Martelli Ravenscroft, Steve Holden, Paul McGuire, 鈴木 駿, 株式会社クイープ
25章Classic Pythonの拡張と埋め込み
CPython(Classic Python)は、移植性の高い、Cで書かれた仮想マシン上で実行される。Pythonの組み込みオブジェクト(数値、シーケンス、ディクショナリ、セット、ファイルなど)は、Pythonの標準ライブラリに含まれているさまざまなモジュールと同様に、Cで書かれている。現代のプラットフォームは、動的に読み込まれるライブラリをサポートしている。それらのライブラリは、Windowsでは.dll、Linuxでは.so、macOSでは.dylibというファイル拡張子を持つ。Pythonをビルドすると、そうしたバイナリファイルが生成される。Python用のカスタム拡張モジュールは、本章で説明するPython C APIを使って、Cで(または、Cで呼び出せるライブラリを生成できる言語で)記述することができる。Python C APIでは、動的ライブラリを生成してデプロイできる。それらのライブラリは、Pythonスクリプトと対話型セッションでimport文(7.1.1項)を使うことで、あとから活用することができる。
Pythonの拡張(extending)は、Pythonコードでimportできるモジュールを構築することを意味する。モジュールをインポートすると、そのモジュールの機能にアクセスできる。Pythonの埋め込み(embedding)は、別の言語で書かれたアプリケーションからPythonコードを実行することを意味する。そうした実行を意味のあるものにするには、Pythonコードからアプリケーションの機能の一部にアクセスできなければならない。したがって、実際には、埋め込みに特化した演算に加えて何らかの拡張も必要となる。Pythonを拡張する主な理由は、次の3つに要約できる。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access