下面是我想要记录的课程的草图。 我的第一个愿望是在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 '''
答案 0 :(得分:0)
属性的关键是thermo.take
获取getter返回的对象(在本例中为Take
对象)。这就是为什么help(thermo.take)
等同于help(Take())
(或者你的“接受对象”)的原因。
您可以通过在类的属性上调用help
来绕过此行为:
help(substances.take)
# Or
help(type(thermo).take)
这是有效的,因为没有self
你正在调用take
,所以它唯一需要返回的是你定义的属性。