Ipdb и документация по методам

Мне нужно проанализировать методы чужого API, и как я обычно это делаю, написать тестовый скрипт, или найти пример кода, сделать

ipdb.set_trace()

Где я хочу поэкспериментировать, а затем взглянуть на доступные в настоящее время переменные, объекты и их методы. Однако, когда я хочу проверить документацию так, как предлагает Ipython

object.method?

я получил

*** SyntaxError: invalid syntax (<stdin>, line 1)

Если я попытаюсь

help(object.method)

Это дает

*** No help on (object.method)

Означает ли это, что для выбранного метода нет документации, или я использую неправильный способ его вызова?


person TheMeaningfulEngineer    schedule 17.09.2012    source источник


Ответы (2)


Функция help() на самом деле является оболочкой для pydoc.help(), что означает, что вы можете сделать что-то вроде:

ipdb> import math
ipdb> import pydoc
ipdb> pydoc.help(math.log)
person Daniel    schedule 18.09.2012

На самом деле !help(object.method) работает, вам просто нужно указать с помощью !, что это команда python, а не команда справки ipdb. Хотя удобный вопросительный знак так не работает, к сожалению.

person bravmi    schedule 25.03.2014
comment
Кажется, не работает в Python 3.6.5 с IPython 6.4.0. Это заставляет меня бить. - person danuker; 22.06.2018