Python vs Cpython 質問する

Python vs Cpython 質問する

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 インタープリターにプラグインするコード) にコンパイルできるようにします。

おすすめ記事