Python 3.4+disфункция
dis.stack_effect()
сведения о коде
Возвращает, на сколько опкод изменит глубину стека вычислений интерпретатора: +1, -1 и т. п.
Синтаксис
dis.stack_effect(opcode, oparg=None, *, jump=None)
Номера опкодов разные в каждой версии, поэтому передавайте dis.opmap['ИМЯ'], а не число. До 3.13 опкод с аргументом без oparg давал ValueError, с 3.13 считается oparg=0 — пишите oparg явно, чтобы код работал везде. Для переходов jump=True и jump=False дают разные значения, без jump — наибольшее из двух.
Примеры
import dis
print(dis.stack_effect(dis.opmap['POP_TOP'])) # → -1
print(dis.stack_effect(dis.opmap['LOAD_CONST'], 0)) # → 1
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности