対象読者
以下のような項目にあてはまる初級者を想定しております。
- Pythonのプログラムを書いて、動かしたことがある
- CPythonや処理系という言葉は聞いたことがあるけれど、何なのかわかっていない
Pythonの処理系を確認する
Pythonは複数の処理系が知られています。もし、あなたがPythonの処理系について意識したことがないのであれば、公式の実装であるCPythonを使用していると考えてよいです。手元で確認してみましょう。
以下のコードを実行してみてください。
import platform
print(platform.python_implementation())
私の環境では以下のように表示されます。
CPython
処理系がCPythonであることがわかりました。
(補足)処理系とは
ここでの処理系とはProgramming Language Processorを指します。つまりPythonの処理系とはPythonのインタープリタを指しています。
プログラミング言語プロセッサ (英: programming language processor)は、プログラミング言語で書かれたコードに処理を行い、別の形に変換するもののこと[1][2]。 単に言語プロセッサ、言語処理系、またはトランスレータ (translator)と呼ばれることもある。コンパイラ、インタープリタ、アセンブラ、プリプロセッサなどのことをまとめて指すときに使われることが多い。
CPythonは公式の実装なのか?
YESだと思いますが、厳密な記述を探しました。
Pythonの公式ドキュメントには以下のような記述があります。残念ながら曖昧な表現でした。
CPython
これは最も保守されている初代のPython実装で、C言語で書かれています。ほとんどの場合、言語の新機能がいち早く実装されます。
Wikipediaには以下のような記述があります。
CPython は、Pythonのリファレンス実装である。
次に
以下のようなテーマで続きを書こうと思います。
- 仕様と実装
- Pythonプログラムを実行すると何が起きるか
- Pythonの実行速度