class MyClass(object):
def __init__(self):
self._my_secret_thing = 1
def _i_get(self):
return self._my_secret_thing
def _i_set(self, value):
self._my_secret_thing = value
def _i_delete(self):
del self._my_secret_thing
my_thing = property(_i_get, _i_set, _i_delete,'this document for my_thing')
instance_of = MyClass()
help(instance_of.my_thing) # not display the 'this document for my_thing'
help(instance_of) # display the 'this document for my_thing'
问题>如果通过my_thing
调用help(instance_of.mything)
的帮助消息,为什么不会显示该消息?
答案 0 :(得分:6)
当您访问instance_of.my_thing
时,它会返回值 - 因此您实际调用help
的是值1
而不是属性。
如果您在类对象而不是实例上访问它,您将获得属性对象,并且docstring将附加到它;也就是说,使用help(MyClass.my_thing)
或help(type(instance_of).my_thing)
。