получить объявление функции (присутствует в выводе pydoc) с атрибутом __doc__ - PullRequest
0 голосов
/ 08 января 2012

Пример:

import numpy
print numpy.polydiv.__doc__

output:

Возвращает частное и остаток от деления полинома ...

При использовании pydoc:

$ pydoc numpy.polydiv

Я получаю:

numpy.polydiv = polydiv (u, v)
Возвращает частное и остаток от деления полинома ...

Есть ли какой-нибудь доступный атрибут, который позволил бы мне получить часть объявления функции polydiv(u, v) с помощью скрипта Python (без использования pydoc / терминал)

1 Ответ

3 голосов
/ 08 января 2012

На всякий случай, если вы не знали, вы всегда можете использовать функцию help в интерактивном сеансе, чтобы сделать эквивалент действия pydoc.

Но чтобы ответить на ваш конкретный вопрос:

Сигнатура функционального объекта может быть получена с помощью модуля inspect :

>>> import numpy, inspect
>>> def sig(func):
...     argspec = inspect.getargspec(func)
...     return func.__name__ + inspect.formatargspec(*argspec)
... 
>>> print sig(numpy.polydiv)
polydiv(u, v)
...