如何使用sphinx autodoc装饰方法?

时间:2017-02-06 15:56:10

标签: python python-sphinx python-decorators

当我有一个装饰器,其闭包定义如下:

def Decorator(arg):
    class InnerDecorator:
        """Here i use the arg: {arg}"""
        __doc__ = __doc__.format(arg=arg)

        def __init__(self, func):
            self.func = func
            # make arg an instance attribute
            self.arg = arg  

        def __call__(self):
            return self.func()

    return InnerDecorator

我使用的是这样的:

class MyClass(object):
    @Decorator("ARG")
    def foo(self):
        pass

    @Decorator("Other ARG")
    def bar(self):
        pass

我可以使用interactive-shell查看'foo'和'bar的正确文档字符串:

>>> help(MyClass)

我的问题是: 有没有办法用sphinx生成方法'foo'和'bar'的autodoc? 我试过了,

.. autoclass:: MyClass
    :members:

但这不起作用。

到目前为止

1 个答案:

答案 0 :(得分:0)

这个答案帮助我实现了目标:https://stackoverflow.com/a/15693082/1901330

作为我的示例代码的答案,我执行以下操作:

.. autoclass:: module.MyClass

    .. automethod:: module.MyClass.foo(self)
    .. automethod:: module.MyClass.bar(self)