【发布时间】:2018-12-10 01:07:04
【问题描述】:
我有一些现有的 Python 3.6 代码,我想转移到 Python 3.7 数据类。我有 __init__ 方法和很好的文档字符串文档,指定构造函数采用的属性及其类型。
但是,如果我将这些类更改为使用 3.7 中的新 Python 数据类,则构造函数是隐式的。在这种情况下,我如何提供构造函数文档?我喜欢数据类的想法,但如果我必须放弃清晰的文档才能使用它们。
已编辑以澄清我目前正在使用文档字符串
【问题讨论】:
-
似乎数据类会自动为包含类定义中的类型提示的类生成一个文档字符串,例如
'C(name: str, number: int)',但自动生成的__init__方法的文档字符串是None。所以我想你可以在类定义之后手动分配__init__文档字符串。不过有点笨重。 -
如果我在课堂上已经有一个文档字符串,那么这个自动生成的文档字符串不会显示出来,这很好,因为人工提供的文档字符串(通常!)比自动生成的要好得多。手动分配文档字符串绝对是笨拙的,如果可能的话我想避免,因此这个问题。
-
两点都正确。此外,手动分配的文档字符串适用于
help等运行时工具,但可能不适用于 Sphinx 等文档生成器。
标签: python documentation python-3.7 docstring python-dataclasses