все Python 3pdbфункция
pdb.runeval()
запуск под отладчиком
Вычисляет выражение под отладчиком и возвращает его значение, в отличие от pdb.run(), возвращающей None.
Синтаксис
pdb.runeval(expression, globals=None, locals=None)
Принимает только выражение: присваивание или цикл дадут SyntaxError ещё до запуска отладчика — для инструкций нужна pdb.run(). Как и run(), по умолчанию работает в пространстве имён __main__ и читает команды из sys.stdin; для автоматического сценария подмените stdin или создайте свой pdb.Pdb.
Примеры
import io, sys, pdb
sys.stdin = io.StringIO('c\nc\n')
sys.stdout = log = io.StringIO()
value = pdb.runeval('2 ** 10')
try:
pdb.runeval('x = 1')
except SyntaxError as e:
error = type(e).__name__
sys.stdout = sys.__stdout__
print(value, error) # → 1024 SyntaxError
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности