能否在Python 3中获取类型化类属性的DocString?

问题描述 投票:1回答:2

我正在弄混Python 3中的typing模块,以了解我可以将其扩展到DSL的程度。为了使这种DSL可用,我想提取一些用户定义类的DocString,例如:

class MyRecord:
    """
    This is just a foo.

    Wouldn't it be cool if you could extract this DocString's text at runtime?
    """
    foo: str

我一直在搜索并找到PEP 526,但在这种情况下它并没有告诉我有关使用DocStrings的任何信息。我唯一能找到的信息是关于如何在DocString中嵌入类型信息,但这不是我想要的。

FWIW,Python在向其提供上述示例时不会抱怨。但是,它似乎也没有填充__doc__属性。我是否正确假设它当前不是标准的一部分,因此不受支持?

我搞砸了Python 3中的输入模块,以了解我可以将其扩展到DSL的程度。为了使该DSL可用,我想提取一些用户定义类的DocString,例如:...

python annotations docstring
2个回答
1
投票

可以使用help(obj)inspect.get_doc(obj)通过内置的obj.__doc__从任何python对象中提取文档字符串。


0
投票

好吧,我当时真是愚蠢。当然,示例中的第一个DocString是class DocString

© www.soinside.com 2019 - 2024. All rights reserved.