2015-09-10 4 views
0

У меня есть некоторые классы, которые я написал, а в некоторых из них я добавил несколько строк документов, например, в заголовок класса.Как использовать pydoc для создания списка методов и свойств в файле Python

Теперь я хотел бы использовать pydoc для генерации документации, но я понял, что pydoc ничего не печатает, если я фактически не напишу часть документа внутри класса, чего я не хочу.

Есть ли способ создать pydoc список всех свойств, методов и их типа, включая тип требуемого параметра (если есть) и тип возвращаемого значения (если есть)?

Если у меня есть класс, как это:

class myclass(object): 

    def __init__(anumber=2, astring="hello"): 
     self.a = anumber 
     self.b = astring 

    def printme(self): 
     thestring = self.a + self.b + "\nthat's all folks\n" 
     return thestring 

    def setvalues(self, a_number, a_string): 
     self.a = a_number 
     self.b = a_string 

Я хотел бы напечатать что-то, что включает в себя имя класса, метод класса, тип данных:

class name 
what parameters it takes in the init and the type of the parameters 

method name 
what parameters it takes and the type of the parameters 
what value return and its type. 

Я считаю, pydoc не будет делать что. Есть ли другой способ сделать это?

Я могу добавить строки документа для объяснения позже, но прежде всего, я хотел бы распечатать то, что в моих модулях, узнать, что нужно, что он возвращает и так далее.

ответ

0

Pydoc должен предоставить вам информацию о скелете, то же самое, что и help(myclass), это покажет вам функции подписи вашего класса без каких-либо докстерий. Вы можете использовать модуль pydoc, чтобы получить эту справочную информацию:

$ pydoc MyClass.myclass 
Help on class myclass in MyClass: 

class myclass(builtins.object) 
| Methods defined here: 
| 
| __init__(anumber=2, astring='hello') 
| 
| printme(self) 
| 
| setvalues(self, a_number, a_string) 
| 
| ---------------------------------------------------------------------- 
| Data descriptors defined here: 
| 
| __dict__ 
|  dictionary for instance variables (if defined) 
| 
| __weakref__ 
|  list of weak references to the object (if defined) 

Вы можете сделать это программно с pydoc модуля:

>>> import pydoc 
>>> import MyClass 
>>> h = pydoc.plain(pydoc.render_doc(MyClass)) 
>>> print h 

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

  • Нет связанных вопросов^_^