Python Glossary English

все Python 3disфункция

dis.disassemble()

дизассемблирование

Дизассемблирует один объект кода; параметр lasti отмечает стрелкой выполняемую инструкцию.

Синтаксис

dis.disassemble(code, lasti=-1, *, file=None)

В отличие от dis.dis() принимает только объект кода: функцию надо передавать как f.__code__, иначе AttributeError. Вложенные функции и лямбды не разбирает — они остаются константами, тогда как dis.dis() спускается в них рекурсивно. lasti — смещение инструкции, у которой появится стрелка -->; так distb() показывает, где именно случилась ошибка.

Примеры

import dis, io
def f(x):
    return x * 2
buf = io.StringIO()
dis.disassemble(f.__code__, file=buf)
print(len(buf.getvalue()) > 0)  # → True
try:
    dis.disassemble(f)
except AttributeError as e:
    print(type(e).__name__)  # → AttributeError

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности