如何在 属性 和 getter 的 sphinx 中添加类型提示

How to add typehint in sphinx for property with getter

我正在使用 sphinx 从文档字符串和类型提示生成“自动”文档。但是,我正在努力显示(在生成的文档中)属性 和 getter 的类型。


如果是简单的属性,我会得到所需的文档:

class Cls:
    def __init__(self):
        self.prop: int = 42

将生成此(所需)文档:

prop: int


在方法的情况下,我们将得到类似有用的结果:

class Cls:
    def mth(self) -> int:
        return 42

mth() → int


但是,如果我们想使用 getter(@property 装饰器),我无法在那里获取类型:

class Cls:
    @property
    def prop(self) -> int:
        return 42

属性 prop

注意没有类型提示


你知道在最后一个案例中如何将类型提示添加到文档中吗?

这将在 sphinx 4 中修复。参见 this PR and this issue

Sphinx 4 尚未发布,但已经有 4.0.0b1 pre-release(现已发布)产生:

class Cls:
    @property
    def prop(self) -> int:
        return 42

属性 prop: int

如果它不会对您造成任何影响,您可以只使用这个预发行版。