disモジュールはPythonバイトコードを逆アセンブルしてバイトコードの解析を助けます。Pythonアセンブラがないため、このモジュールがPythonアセンブリ言語を定義しています。このモジュールが入力として受け取るPythonバイトコードはファイルInclude/opcode.hに定義されており、コンパイラとインタプリタが使用しています。
例: 関数myfuncを考えると:
def myfunc(alist):
return len(alist)
次のコマンドをmyfunc()の逆アセンブリを得るために使うことができます:
>>> dis.dis(myfunc)
2 0 LOAD_GLOBAL 0 (len)
3 LOAD_FAST 0 (alist)
6 CALL_FUNCTION 1
9 RETURN_VALUE
10 LOAD_CONST 0 (None)
13 RETURN_VALUE
(``2''は行番号です)。
disモジュールは次の関数と定数を定義します:
| [bytesource]) |
| [tb]) |
| code[, lasti]) |
->"として示されます。
>"とともに表示されます。
パラメータインタープリテーションはローカルおよびグルーバル変数名、定数値、分岐目標、そして比較演算子を認識します。
| code[, lasti]) |