Python Glossary English

Python 3.4+disпонятие

dis.Bytecode

анализ байт-кода

Объект-обёртка над байт-кодом функции или объекта кода: многократно итерируется по Instruction, отдаёт листинг и сведения строкой.

Синтаксис

bc = dis.Bytecode(x, *, first_line=None, current_offset=None)

В отличие от get_instructions() итерировать его можно сколько угодно раз, а метод .dis() возвращает листинг строкой, а не печатает, как dis.dis(). .info() — то же, что dis.code_info(). Bytecode.from_traceback(tb) строит объект с отметкой упавшей инструкции — удобная замена distb(), когда текст нужен в логе.

Примеры

import dis
def f(x):
    return x + 1
bc = dis.Bytecode(f)
print(type(bc.dis()).__name__)  # → str
print(len(list(bc)) == len(list(bc)))  # → True
print(bc.info() == dis.code_info(f))  # → True

См. также

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