首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >狮身人面像命名特殊成员

狮身人面像命名特殊成员
EN

Stack Overflow用户
提问于 2017-02-13 22:24:15
回答 2查看 1.9K关注 0票数 2

这是我第一次使用狮身人面像,到目前为止我已经知道了很多,但是有一个特别的警告,我不知道它在告诉我什么。

根据http://www.sphinx-doc.org/en/stable/ext/autodoc.html上的文档,如果提供了“特殊”成员标志选项,将包括Python“特殊”成员(即那些命名类似于特殊的成员):

代码语言:javascript
复制
.. autoclass:: my.Class
    :members:
    :private-members:
    :special-members:

会记录这个班的“私人”和“特殊”成员。新版本1.1。在版本1.2中更改的:该选项现在可以使用参数,即文档.的特殊成员

我试图在文档中列出类的__init__,但没有其他特殊成员,所以我的.rst文件如下:

代码语言:javascript
复制
**myClass Class**
==================

.. automodule:: python_module.submodule.series.myClass
    :members:

    .. autoclass:: myClass
        :members:
        :special-members: __init__

我得到错误".rst:7:警告:缺少属性:特殊成员:对象.rst:7中的init

我使用的是狮身人面像1.5.1版本,所以当我把我想要记录的特殊成员的名字传递给它时,难道不应该这样做吗?这个错误使我看起来好像从我的.py文件中丢失了一些东西,我正在从中提取文档字符串。是这样吗?如果我想这样做的话,我找不到任何特殊的东西需要出现在这个方法中。

EN

回答 2

Stack Overflow用户

发布于 2020-04-02 08:20:31

请注意,如果您谈论的是一个类,您应该使用:

代码语言:javascript
复制
.. autoclass:: MyClass
   :members:

   .. automethod:: __init__

如果您谈论的是包含类和其他内容的模块,请使用:

代码语言:javascript
复制
.. automodule:: mymodule
   :members:
   :special-members: __init__

请注意,这将记录在模块上找到的所有init方法。

如果同时使用这两种方法,那么您的MyClass.init方法将记录两次:

代码语言:javascript
复制
.. automodule:: mymodule
       :members:
       :special-members: __init__

.. autoclass:: MyClass
   :members:

   .. automethod:: __init__
票数 2
EN

Stack Overflow用户

发布于 2017-02-14 16:08:22

我确实发现,被重复两次的类docstring是因为..automodule部分。我把它拿出来,它仍然包括整个类的定义,所以这让我很高兴。

我仍然无法使用:special:选项来记录__init__定义,但这是一个可以忽略不计的问题,因为这个类已经有了足够的文档。所以我想我只是想让这个警告吓到我.就目前而言。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42214656

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档