将类实例记录为函数

时间:2013-03-16 20:47:34

标签: python documentation python-sphinx docstring

当使用sphinx autodoc扩展来创建文档时,我如何记录类实例(而不是类本身),就好像它是一个函数一样?类定义了__call__方法。

2 个答案:

答案 0 :(得分:1)

可以使用sphinx扩展来解决问题。对我来说,以下就足够了:

    <{1}}中的
    1. conf.py
    2. 中添加sys.path的相应路径
    3. conf.py替换为sphinx.ext.autodoc list
    4. 中的新模块名称
  1. 新模块中的
    1. 导入extensions
    2. 创建sphinx.ext.autodoc
    3. 的子类
    4. 创建调用.autodoc.FunctionDocumenter然后调用setup(app)
    5. .autodoc.setup()函数
  2. 请注意,这将替换记录函数,因此您需要使它对它们有用。通过将 unique 字符串定义为app.add_autodocumenter(SubclassName)类常量作为值,可以避免此问题,但这需要更多的工作。关注常规功能更容易。

    如果有人感兴趣,代码为here

答案 1 :(得分:0)

我并不熟悉autodoc,但你可以试试这个:

class MyClass(object):
    ...
    def __call__(self):
        ...

c = MyClass()
"""
this is a function-like object.
"""

c2 = MyClass()
"""
this is another function-like object.
"""

或者这个:

#: this is a function-like object.
c = MyClass()