2011-01-02 4 views
1

Можно ли увидеть ints (и ints, которые являются частями dicts, lists и tuples и т. Д.) Как шестнадцатеричные значения при отладке с помощью PyDev?Настройка формата отладочной печати с помощью PyDev

В более широком смысле, возможно ли, чтобы любой тип данных отображался так, как вы хотите на вкладке с переменным дисплеем?

ответ

1

Отладчик PyDev просто использует функцию repr() для отображения значений. Поэтому, если переписать функцию __repr__(), то вы можете изменить способ печати значений.

Я не думаю, что есть какие-либо другие варианты изменения способа отображения ваших переменных, хотя вы можете (не уверенный в этом) уклониться от перезаписи функции repr().

+1

В частности, это будет 'repr = lambda x: hex (x), если isinstance (x, int) else repr (x)' (игнорируя 'long'). Добавляет кавычки, хотя. Используйте 'hex (x) [1: -1]' для их удаления. И имейте в виду, что это очень хаки. – delnan

+0

похоже, что функция repr используется для представления эстакады, а str используется для окна Variables. Что с этим? –

+1

@ delnan: следует отметить, что для этого вам, вероятно, придется перезаписать '__builtin __. Repr' – Wolph

Смежные вопросы