dis/inspect モジュールを使った Python のハッキング pythonコンパイラ,そしてバイトコードに関する素敵な記事です.以下なぐりがきメモ. dis.dis(関数名) import dis; dis.dis(関数名)で関数のバイトコードを見れる.コンパイラによってつくられたこのバイトコードはceval.cで実行される.pycがこの形式. 関数オブジェクト 関数オブジェクトのfunc_code属性がcodeオブジェクトで,これはco_varnames, co_names, co_constsなどの変数文字列を保持している.(ただしコンパイル時に名前と対応させるだけ)実行時にはローカル変数などはそれらの数字によってアクセスされる. ローカル変数はLOAD_FAST/STORE_FASTが使われる.ローカル変数はコンパイル時に決まる.インデックスでアクセスできる.グローバル変数