Python はインタプリタ型言語ですか?コンパイルされますか?
この質問は想像したほど簡単に答えることができません。世界を理解している多くの人々と同様に、彼らは単純なモデルに基づいて物事を判断することに慣れています。実際には、非常に多くの詳細が含まれています。
一般的に、コンパイルは、高級言語を CPU で実行できるマシン コードに変換することを表します。 C をコンパイルすると、これがまさに行われることになります。コンパイルの結果はバイナリ実行可能ファイルであり、システムでこのプログラムを直接実行できます。
これに対して、 description の意味は次のとおりです。プログラムの実行時には、毎回ソース ファイル内のコードを 1 行読み取り、対応する操作を実行し、それを繰り返します。 1行ずつ。 。もちろん、これがいわゆるスクリプト言語の仕組みです。
Python では、ソース コードはバイトコードと呼ばれる下位レベルの形式にコンパイルされます。バイトコードは、CPU の命令セットに似た一連の命令です。ただし、バイトコードは CPU によって直接実行されるのではなく、仮想マシン内で実行されます。もちろん、ここでの仮想マシンはオペレーティング システム環境全体を模倣するものではなく、バイトコード実行のための環境を提供するだけです。
Python には、対話型コマンド ラインという重要な機能もあります。 Python ステートメントを 1 行入力し、すぐに Enter キーを押して実行できます。実はこの処理でも、Pythonはまずバイトコードに変換されてから実行されます。この対話型コマンド ライン機能は、多くのコンパイル言語では利用できません。また、コンパイラへの明示的な呼び出しがないため、多くの人は Python ソース ファイルを実行するプログラムを Python インタープリタと呼びます。 比較的単純ですが、それでも追加したいと思います。 C や JAVA などの一部のコンパイル言語にも対話型のコマンド ラインがありますが、これらの言語の焦点はそこにはありません。 JAVA は最初にバイトコードにコンパイルされてから実行されましたが、その後、ジャストインタイム コンパイル テクノロジ (JIT) を使用して、C と同様にマシン コードに直接コンパイルできるようになりました。
上記の説明からわかるように、解釈と編集は完全に分離することはできません。既存のプログラミング言語を分類するためにいくつかの単語を使用したいと思うことがよくありますが、実際にはこれを行うのは難しすぎます。
Python がインタープリタ型言語と呼ばれる理由は、明示的にコンパイル操作を呼び出さず、よりインタープリタ型の特性を示すためです。しかし、実際にはコンパイルというものが存在し、それをどのようにコンパイルするかは言語の実装、つまりインタプリタの設計に依存します。
以上がPython はインタープリター言語ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。