Печать справочной документации всех функций в строковом модуле: Python - PullRequest
0 голосов
/ 01 января 2019

Я пытаюсь распечатать все functions и их help docstrings в strings module, но не получаю желаемых результатов.Ниже приведены вещи, которые я попробовал:

r = 'A random string'

1.  [help(fn) for fn in r.__dir__() if not fn.startswith('__')]
2.  [help(r.fn) for fn in r.__dir__() if not fn.startswith('__')]
3.  [fn.__doc__ for fn in r.__dir__() if not fn.startswith('__')]
4.  [r.fn.__doc__ for fn in r.__dir__() if not fn.startswith('__')]

и еще несколько вещей.Некоторые из них выдают ошибки, говоря, что r не имеет атрибута с именем 'fn'.Другие просто распечатывают справочную документацию по функции 'str'.Можно ли как-нибудь распечатать это для всех функций динамически?

Ответы [ 2 ]

0 голосов
/ 01 января 2019

В python2:

for i in dir(r):
    if not i.startswith('__'):
        print getattr(r, i).__doc__

В python3:

for i in dir(r):
    if not i.startswith('__'):
        print(getattr(r, i).__doc__)

(это в основном то же самое, изменяет только функцию print).Вам нужно получить объект метода wth getattr, чтобы показать его атрибут __doc__.

0 голосов
/ 01 января 2019

Для печати строки документации вы используете func .__ doc__.

r = 'A random string'

for fn in r.__dir__():
  if not fn.startswith("__"):
    print ("Function:",fn)
    print (fn.__doc__)
    print()
...