Python と CPython (Jython、IronPython)について何がそんなに騒がれているのか、私にはわかりません。
python.orgCPython について言及しています:
Python の「伝統的な」実装 (愛称は CPython)
またまたStack Overflowの質問次のように述べています。
CPython は C で書かれた Python のデフォルトのバイトコード インタープリターです。
正直、この2つの説明が実際に何を意味するのか分かりませんが、私が考えたのは、CPythonを使用する場合、サンプルのPythonコードを実行すると、C言語にコンパイルされ、Cコードであるかのように実行されるということです。
では、CPython とは一体何なのでしょうか。Python と比べてどう違うのでしょうか。また、Python よりも CPython を使用するべきでしょうか。そうであれば、その利点は何でしょうか。
ベストアンサー1
では、CPython とは何でしょうか?
CPython はオリジナルのPython 実装です。これは Python.org からダウンロードできる実装です。他の後発の Python 実装と区別するため、また言語エンジンの実装を Pythonプログラミング言語自体と区別するために、CPython と呼ばれています。
後者の部分が混乱の原因です。Python 言語を、Python コードを実行するものとは切り離しておく必要があります。
CPython はC で実装されています。これは単なる実装の詳細です。CPython は Python コードを (透過的に) バイトコードにコンパイルし、そのバイトコードを評価ループで解釈します。
CPython は新しい機能を実装した最初の言語でもあります。Python 言語の開発では CPython をベースとして使用し、他の実装もそれに続きます。
Jython などについてはどうでしょうか?
ジソン、アイアンパイソンそしてピピPythonプログラミング言語の現在の「その他の」実装は、それぞれJava、C#、RPython(Pythonのサブセット)で実装されています。JythonはPythonコードをJavaバイトコードにコンパイルし、PythonコードをJVM上で実行できるようにします。IronPythonを使用すると、Pythonをマイクロソフトまた、PyPy は Python (のサブセット) で実装されているため、CPython よりも高速に Python コードを実行できます。これは驚くに違いありません。 :-)
実際にCにコンパイルする
CPythonはPythonコードをCに翻訳するわけではありません。代わりに、インタプリタループを実行します。Python風のコードをCに翻訳するプロジェクトがあり、それはシトンCython は Python 言語にいくつかの拡張機能を追加し、コードを C 拡張機能 ( CPython インタープリターにプラグインするコード) にコンパイルできるようにします。