class A(object):
def __init__(self, name):
self.name = name
def __repr__(self):
return 'A[%s]' % self.name
class Test(object):
def __getattr__(self, name):
a = A(name)
a.__doc__ = 'My a documentation'
return a
In [11]: t = Test()
In [12]: t.foo
A[foo]
In [13]: t.foo?
Type: A
String Form:A[foo]
Docstring: My a documentation
这与IPython无关,IPython只读取对象的
__doc__
属性。如果您在__getattr__
方法中动态创建对象,那么只需设置它们的__doc__
属性,那么在IPython中一切都将正常工作。在下面是一个例子:
您可以设置
foo.__doc__ = "my doc string"
。在相关问题 更多 >
编程相关推荐