docstring(myClass.aProperty)不返回aproperty的docstring

时间:2017-10-24 15:56:20

标签: python docstring

下面是我想要记录的课程的草图。 我的第一个愿望是在Jupyter内得到简短的帮助。

这些帮助调用按预期工作:

help(thermo):显示所有内容(类,方法和属性)

help(thermo.select):显示选择帮助

help(thermo.table):显示表格帮助

不幸的是,这个不能像我期望的那样工作:

help(thermo.take)不会返回take属性的帮助。

相反,此语句返回take对象中的所有属性。 (2000 +)

你可以澄清发生了什么, 并建议我如何获得帮助(thermo.take)按照我的意愿工作?

由于

class substances(list, metaclass=substancesMeta):
    ''' A thermodynamic database of substances '''
    @property
    def take(self):
        ''' A simple way to take a substance. '''

    def select(self, ... ):
        ''' Select a subset of the database. '''

    def table(self, **kwargs):
        ''' Create a pandas dataframe from substances object '''

1 个答案:

答案 0 :(得分:0)

属性的关键是thermo.take获取getter返回的对象(在本例中为Take对象)。这就是为什么help(thermo.take)等同于help(Take())(或者你的“接受对象”)的原因。

您可以通过在类的属性上调用help来绕过此行为:

help(substances.take)
# Or
help(type(thermo).take)

这是有效的,因为没有self你正在调用take,所以它唯一需要返回的是你定义的属性。