Python Glossary English

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