【发布时间】:2016-10-27 21:36:37
【问题描述】:
在Spyder 中使用Ctrl + i 通常会显示光标所在对象的文档字符串,但对于以下代码中的B 方法,它会返回红色的“没有更多可用的文档”消息:
class A():
@property
def B(self):
''' This is a docstring. '''
如果 @property 装饰器被注释掉,它工作正常。我知道property 以某种方式环绕 B,但似乎应该有一种简单的内置方法来让文档字符串通过,但我找不到答案。
有没有办法解决这个问题?获得Spyder 交互式帮助以显示可能许多类方法的文档字符串的最佳方法是什么,每个方法都有@property 装饰器?
This question 看起来确实相关,并且可能有助于回答为什么它会以这种方式运行,但这是否意味着我需要以某种方式继承 property 内置函数?
编辑:也许这是 Spyder 内部的东西,因为它适用于 @property:
>>> print(A.B.__doc__)
This is a docstring.
【问题讨论】:
-
如果你设置了
property函数的文档参数(它是参数之一,但我不知道如何以装饰器形式传递它),这将是属性的文档. -
也许这与 Spyder 本身有关。以下链接中的电压示例表明
property应该通过以下方式传递文档字符串:docs.python.org/3/library/functions.html#property -
如果有帮助,我正在使用 Python 3.5.1 和 Spyder 2.3.8
-
我没用过 Spyder,所以不知道。
标签: python spyder python-decorators docstring