все 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Сообщить о неточности