如果我想在 ipython 中重新定义先前定义的类的成员,我想知道一个好方法。说:我已经定义了一个如下所示的类介绍,稍后我想重新定义部分函数定义_print_api。无需重新键入即可做到这一点的任何方法。
class intro(object):
def _print_api(self,obj):
def _print(key):
if key.startswith('_'):
return ''
value = getattr(obj,key)
if not hasattr(value,im_func):
doc = type(valuee).__name__
else:
if value.__doc__ is None:
doc = 'no docstring'
else:
doc = value.__doc__
return ' %s :%s' %(key,doc)
res = [_print(element) for element in dir(obj)]
return '\n'.join([element for element in res if element != ''])
def __get__(self,instance,klass):
if instance is not None:
return self._print(instance)
else:
return self._print_api(klass)