[解決済み] PythonとCpythonの比較
質問
PythonとCPythonについて、この騒ぎは何なんだ? (Jython,IronPython)です。 意味がわからない。
python.org がCPythonであることに言及しています。
<ブロッククオートPython の "traditional" 実装 (CPythonの愛称)
またまたStack Overflowの質問 が言及しています。
CPythonは、C言語で書かれたPythonのデフォルトのバイトコードインタプリタです。
正直、どちらの説明も実質的な意味がわからないのですが、私が思ったのは、そのことです。 CPythonを使用する場合、Pythonのサンプルコードを実行すると、C言語にコンパイルされ、C言語のコードのように実行されるということでしょうか?
CPythonとは一体何なのか、Pythonと比較した場合どう違うのか、PythonよりもCPythonを使うべきなのか、もしそうならその利点は何なのか?
どのように解決するのですか?
で、CPythonって何?
CPythonは オリジナル Pythonの実装です。Python.orgからダウンロードした実装です。他の後発のPython実装と区別するため、また、言語エンジンの実装をPythonの プログラミング言語 そのものです。
言語であるPythonと、言語であるPythonを分離する必要があります。 実行 Pythonのコードです。
CPython 起こる はC言語で実装されていますが、これは単なる実装の詳細に過ぎません。CPython は Python コードを (透過的に) バイトコードにコンパイルし、評価ループの中でそのバイトコードを解釈します。
また、CPythonは新しい機能を最初に実装します。Pythonという言語の開発はCPythonをベースとし、他の実装がそれに続きます。
Jythonなどはどうですか?
Jython , IronPython および PyPy は、現在の Python プログラミング言語の実装で、それぞれ Java、C#、RPython (Python のサブセット) で実装されています。JythonはPythonのコードをコンパイルして ジャワ バイトコードで、PythonコードはJVM上で実行することができます。IronPythonはPythonをJVM上で動作させます。 マイクロソフトCLR . そして、PyPyはPythonのサブセットで実装されているので、CPythonよりも高速にPythonコードを実行することができます。
実際にC言語にコンパイルしてみる
そこでCPythonは ではなく Pythonのコードを自分でCに変換してくれます。その代わり、インタプリタのループを実行します。そこで は というプロジェクトがあります。 する Python 風のコードを C に変換するもので、その名前は サイソン . Cython は Python 言語にいくつかの拡張機能を追加し、あなたのコードを C 拡張にコンパイルすることができます。 への CPythonインタプリタ
関連
-
Pythonを使って簡単なzipファイルの解凍パスワードを手作業で解く
-
[解決済み] 文字列リテラルの前にある'b'文字は何を意味するのでしょうか?
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] Pythonで現在時刻を取得する方法
-
[解決済み] Pythonで2つのリストを連結する方法は?
-
[解決済み] ファイルのコピー方法について教えてください。
-
[解決済み] Pythonで例外を手動で発生(スロー)させる
-
[解決済み] 関数呼び出しにおけるstarとdoublestarの演算子の意味は?
-
[解決済み】ネストされたディレクトリを安全に作成するには?
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PyQt5はユーザーログインGUIインターフェースとログイン後のジャンプを実装しています。
-
Pythonの@decoratorsについてまとめてみました。
-
PythonでECDSAを実装する方法 知っていますか?
-
[解決済み】Python regex AttributeError: 'NoneType' オブジェクトに 'group' 属性がない。
-
[解決済み】ilocが「IndexError: single positional indexer is out-of-bounds」を出す。
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み】Python Error: "ValueError: need more than 1 value to unpack" (バリューエラー:解凍に1つ以上の値が必要です
-
[解決済み】SyntaxError: デフォルト以外の引数がデフォルトの引数に続く
-
[解決済み] Pythonで新しい辞書を作成する
-
[解決済み】PyPyが6.3倍速いなら、CPythonよりPyPyを使うべきじゃないのか?