Форум сайта python.su
class Tb:
pass
class Ta(object):
"Ta description"
def f(self):
"f description"
pass
a_var=5 # a_var decription
b_var=Tb() # b_var decription
Офлайн
Нет. Чаще всего их описывают в “Ta description”
Офлайн
Большое спасибо Андрей.
Я в настоящее время договорился с разработчиками о том что в классах будут
словари __description__, и __units__ которые заполняются декораторами или из БД. Но думал что есть более прямой ход. У меня просто бывают классы с несколькими десятками полей (до сотни)- это один в один отображение той системы которую они моделируют.
Офлайн
Посмотри Epydoc.
Ничего умнее предложить не могу.
Можно документирование выносить в интерфейсы (zope.interface и zope.schema). В качестве бонуса появится валидация атрибутов объекта :-).
..bw
Офлайн
sphinx в последних версиях умеет описывать. Примерно так
#: Это документация к переменной модуля
#: и она может быть многострочной
SOME_VAR = 'asdf'
class A(object):
#: Это документация для A.c
#: тоже многострочная
c = 3
def __init__(self):
self.a = 1
#: Это документация для A.b
#: тоже многострочная
self.b = 2
Офлайн
То что сфинккс умеет описывать, это хорошо, буду использовать. Но тут речь шла в большей степени о том, чтобы в программе использовать описания переменных. У меня есть модулечек - редактор объектов. Применяется к любому объекту в программе - дает представление почти любого объекта в виде дерева (wx.gizmos.TreeListCtrl). Но там кроме идентификаторов желательно описание и размерность. Пользователи постепенно приучаются пользоваться этим деревом для просмотра и задания данных (оно может появиться в разных местах программы).
Офлайн
Тогда однозначно - zope.interface
Офлайн
Ок посмотрю, спасибо, повидимому надо будет ставить zope.
Офлайн
Нет, не zope. Только интерфейсы от него. Это - отдельный пакет, который, насколько помню, ни от чего не зависит.
pip или easy_install справляются с установкой “на ура”.
http://pypi.python.org/pypi/zope.interface
Офлайн