Как получить содержимое переменной в IPython REPL при отладке? - PullRequest
0 голосов
/ 14 мая 2019

Я использую Python 3 со Spyder. Рассмотрим следующий код:

def fun(x,y):
    n,m = len(x), len(y)
    pass #set breakpoint on this line

x = [1,2,3]
y = [1,2,3]

fun(x,y)

Когда я устанавливаю точку останова в третьей строке и запускаю отладчик, я ожидаю, что смогу оценить как n, так и m в консоли отладчика. В то время как ввод m (затем ввод) возвращает ожидаемое число, ввод n только показывает, печатает текущее состояние отладчика. Я предполагаю, что n - это какая-то специальная команда отладчика.

  • Где я могу найти все команды, которые можно использовать в консоли отладчика?
  • Как мне по-прежнему печатать переменные, имена которых совпадают с именами некоторых из этих команд?

1 Ответ

1 голос
/ 14 мая 2019

Команды вы можете найти здесь в документации по питону: https://docs.python.org/3.7/library/pdb.html

Команда p <expression> может использоваться для оценки и печати выражения Python, поэтому в этом случае вы должны использовать p n, чтобы получить содержимое n.

...