twisted的docstring中这些格式的含义是什么?

时间:2012-06-17 01:56:35

标签: python format twisted docstring

在twisted的源代码中,许多文档字符串包含这样的格式:L {xxx}或C {xxx}或以'@'开头的行,它们的含义是什么?

例如,在twisted / internet / interfaces.py中:

def registerProducer(producer, streaming):
    """
    Register to receive data from a producer.
    ...
    For L{IPullProducer} providers, C{resumeProducing} will be called once
    each time data is required.
    ...
    @type producer: L{IProducer} provider
    ...
    @return: C{None}
    """

L {IPullProducer},C {resumeProducing},@ type producer?

顺便说一句,这些格式是标准python文档字符串格式的一部分吗?如果是这样,我应该在哪里提到?谢谢:))

1 个答案:

答案 0 :(得分:12)

Twisted使用的文档格式为Epytext, which is documented on epydoc.sourceforge.net

L{}表示"链接" (即"这是一个Python标识符,请链接到它#34;)C{}表示"代码" (即hello C{foo} bar应格式化为" hello foo bar")。 I{}仅表示"斜体字"。您可以在epytext文档中看到更多字段。

Twisted项目使用pydoctor --add-package twisted等调用生成pydoctor的文档。还有更多内容,要生成Twisted依赖的其他几个项目的链接,但如果你想为Twisted提供文档字符串,你可以使用它来获得一个想法。您也可以使用epydoc twisted生成epydoc本身的文档,但epydoc不了解Zope接口,因此不会自动将类链接到它们实现的接口。

The generated API documentation for each release is published on twistedmatrix.com,您可以在那里浏览。