この記事では、筆者が最近Pythonのバイトコードを使用した経験をご紹介したいと思います。正確には、使用したのは専らCPythonインタープリタ向けのバイトコードで、バージョンは2.6と2.7に限定されていました。 Pythonは柔軟性の高い言語で、コマンドラインから実行すると主に次のステップをトリガします。 ソースコードは最初に検出されたとき(モジュールとしてインポートされたとき、直接実行されたときなど)にコンパイルされます。このステップで、システムに応じてpycまたはpyo拡張子が付いたバイナリファイルが生成されます。 インタープリタがバイナリ・ファイルを読み取り、一度に1つずつ命令(命令コード)を実行します。 Pythonのインタープリタはスタックベースであるため、そのデータフローを理解するには各命令(命令コードと引数)がスタックに与える影響を知る必要があります。 バイナリファイルの