2016-10-20 5 views
2

私はPythonのコードを実行するための2つのステップがあることを知っているPythonのインタプリタ、特にはCPythonとPyPy、読んされています:特定のPythonバージョンのバイトコードを異なるインタプリタで実行できますか?

  1. Interpreをバイトコードに変換MachineCode

をマイ質問は、バイトコードがCPythonによって生成された場合、Pythonバージョン2.7.0と言うことができます、バイトコードはPython 2.7.0のPyPyで実行されますか?

+0

私はそうは思わないでしょう。バイトコードは実装の一部なので、実装よりも移植性が高いとは思っていません。 –

答えて

1

いいえ。バイトコードはバージョン間で変更され、どのインタープリタで動作するかを明確にするために、マジックナンバーでタグ付けされています。そして、ちょうど CPythonの中で、CPythonとPyPyの間で、彼らはあなたが魔法の番号を探す場所に同意する必要はありません。 .pycファイルは主に最適化されており、ソースファイルの形式では移植できません。彼らはそれを理解している通訳と一緒に配布されている場合にのみ配布可能です。

基本的に、Python言語の標準では、バイトコード形式ではなく、ソース構文とライブラリについて説明しています。

関連する問題