12

今日、Python が特定の種類のループを処理する方法について質問しました。回答の 1 つに、私の例の逆アセンブル版が含まれていました。

もっと知りたいです。自分の Python コードを逆アセンブルするにはどうすればよいですか?

4

3 に答える 3

13

disモジュールを見てください:

def myfunc(alist):
    return len(alist)

>>> dis.dis(myfunc)
  2           0 LOAD_GLOBAL              0 (len)
              3 LOAD_FAST                0 (alist)
              6 CALL_FUNCTION            1
              9 RETURN_VALUE
于 2009-05-15T16:14:49.203 に答える
3

モジュールとして使用するだけdisでなく、コマンドラインツールとして実行することもできます

たとえば、Windowsでは次のように実行できます。

c:\Python25\Lib\dis.py test.py

そして、分解された結果をコンソールに出力します。

于 2009-05-15T17:38:30.843 に答える
2

disPython 標準ライブラリのモジュールを使用します (import disたとえば、対話型インタープリターで、次にdis.dis任意の関数を使用します!-)。

于 2009-05-15T16:24:53.127 に答える