Pythonが動作する仕組みは、主に『インタプリタ』という特別なプログラムによって成り立っています。
Pythonは『ソースコード → バイトコード → 実行』という流れで動作します。
1.インタプリタ言語としての特徴
Pythonは『インタプリタ型言語』に分類されます。
インタプリタとは、人間が書いたプログラム(ソースコード)を、機械が理解できる言葉(機械語)に1行ずつ翻訳しながら、その場で実行していくプログラムのことです。
これに対し、C++やJavaなどの『コンパイラ型言語』は、プログラム全体を一度に機械語に翻訳してから実行します。
2.Pythonの実行フロー
Pythonが実際に動作するときのステップは以下の通りです。
ステップ1:ソースコードの作成
Pythonの文法でプログラムを記述します(例: print("Hello, world!")
)。
これを、『ソースコード』と呼びます。
ステップ2: バイトコードへのコンパイル
Pythonのインタプリタ(C言語で書かれた『CPython』などが一般的)が、ソースコードを読み込みます。Pythonはすぐに機械語に翻訳するのではなく、一度『バイトコード』という中間言語に変換します。
バイトコードは、特定の『仮想マシン(Python Virtual Machine – PVM)』での実行を目的とした、機械語に近い命令のセットです。
このバイトコードは、しばしば『.pyc』ファイルとして保存され、次回実行時に再利用されます。
これは、ここまでのステップを省略し、プログラムの起動を高速化するためです。
ステップ3:PVMによるバイトコードの実行
最後に、仮想マシン(PVM)がバイトコードを読み込み、それを実際のコンピューターのCPUが理解できる『機械語』にリアルタイムで翻訳し、実行します。
PVMは、Pythonプログラムを実行するための「仮想的なCPU」のようなものです。
バイトコードは、どのOS(Windows、macOS、Linuxなど)でも同じですが、PVMがそれぞれのOS上で動作するよう、OSと連携して処理を行います。
このことにより、『一度書けばどこでも動く(Write Once, Run Anywhere)』というPythonの移植性の高さを実現しています。