動的言語である Python は、実際にはインタープリタ ソフトウェア パッケージです。
Python がスクリプトを実行するとき、Python はコードの処理を開始する前にいくつかのステップも実行します。 (推奨学習: Python ビデオ チュートリアル )
最初のステップは、いわゆる「バイトコード」にコンパイルすることです。Python プロセスに書き込み権限がある場合、プログラムのバイトコードが保存されます。拡張子が .pyc のファイルの場合、Python がマシン上でバイトコードを書き込むことができない場合でも、プログラムは動作します。バイトコードはメモリ内に生成され、プログラムの終了時に単純に破棄されます。プログラムがバイトコードにコンパイルされると (またはバイトコードが既存の .pyc ファイルからロードされると)、後続のバイトコードは実行のために Python 仮想マシン (略して PVM) と呼ばれるものに送信されます。
書き込まれた py ファイルは、まずバイトコード ファイル (隠しサフィックス pyc) に変換され、次にそのバイトコードが PVM (仮想マシン) を使用して自動的にコンパイルされ、ハードウェアに解釈されます。
pyc ファイルがすでに形成されている場合、py ファイルは変更されていません。マシンがそれを再解釈するとき、バイトコード変換ステップはスキップされます。まず、.py と.pyc ファイルのタイムスタンプが変更されていない場合は、pyc ファイルを直接実行します。それ以外の場合は、バイトコードが再変換されます。
PVM は独立したプログラムではなく、Python の実行エンジンであり、インストールする必要はありません。実際、PVM はバイトコード命令を繰り返し実行し、操作を次々に完了する大きなループです。
つまり、Python にはさらに動的な言語機能があります。実行時に、Python プログラムが別の Python プログラムを構築して実行することが可能であり、これは多くの場合非常に便利です。たとえば、eval および exec 組み込みモジュールは、Python プログラム コードを含む文字列を受け入れて実行します。 add 関数のバイトコードを表示するには、次のコードを使用します。
import dis def add(a,b): sum=a+b return sum print(dis.dis(add))
Python 関連の技術記事の詳細については、Python チュートリアル 列にアクセスして学習してください。
以上がPython がコードを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。