簡體   English   中英

如何使用 sphinx 自動記錄裝飾方法?

[英]How to autodoc decorated methods with sphinx?

當我有一個帶有如下定義的閉包的裝飾器時:

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

我可以使用交互式 shell 看到 'foo' 和 'bar 的正確文檔字符串:

>>> help(MyClass)

我的問題是:有沒有辦法用 sphinx 為方法 'foo' 和 'bar' 生成自動文檔? 我試過,

.. autoclass:: MyClass
    :members:

但這不起作用。

到目前為止,謝謝

這個答案幫助我讓它工作: https : //stackoverflow.com/a/15693082/1901330

作為對我的示例代碼的回答,我執行以下操作:

.. autoclass:: module.MyClass

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM