epydoc隐藏了一些类功能?

时间:2011-10-04 14:34:53

标签: python private docstring epydoc

我的类中有一些方法,只能用于类的其他方法。我用'_'标记了他们的名字。我可以从epydoc隐藏这些功能吗?这是个好主意吗?

我应该使用'_'还是双下划线?老实说,在某些地方阅读有关它们后,我没有得到改变。这个命名约定是否应仅用于模块/类(实例)函数?还是变量?

1 个答案:

答案 0 :(得分:4)

如果要隐藏所有私有方法和私有变量,请将选项'--no-private'传递给epydoc。

请注意 - 对于epydoc - 如果出现以下情况,则方法或变量是私有的:

  • 其名称以下划线'_'
  • 开头
  • 其名称不以下划线'_'
  • 结尾
  • 您没有在特殊的所有词典中包含其名称。

或者,您可以使用'undocumented'标签强制epydoc完全忽略某些方法或变量。

例如(这里我假设一种ReStructured Text格式化):

class MyClass:
  """Some neat description

  :undocumented: x
  """

  def _y(self): pass
  def x(self): pass
  def z(self): pass

将导致文档仅包含_y(除非您使用'--no-private'选项)和z。即使它不是私有的,也没有关于x的任何内容。

在最终文档中是否应该显示私有方法是一个品味问题。对我来说,文档是由对内部实现没有或不应该感兴趣的人阅读。私有方法最好完全隐藏。