【发布时间】:2009-11-24 00:28:15
【问题描述】:
我有很多可调用对象,并且它们都正确填写了 __doc__ 字符串,但是对它们运行帮助会生成他们的类的帮助,而不是基于 __doc__ 的帮助。
我想对其进行更改,以便在它们上运行帮助生成自定义帮助,如果它们是实际函数而不是实现__call__ 的类的实例,我会得到的基本帮助。
在代码中,我想输出以下内容:
class myCallable:
def __init__(self, doc):
self.__doc__ = doc
def __call__(self):
# do some stuff
pass
myFunc = myCallable("some doco text")
help(myFunc)
看起来更像这样的输出:
def myFunc():
"some doco text"
# do some stuff
pass
help(myFunc)
【问题讨论】:
-
我的猜测是这里的问题是基于类的 myFunc 具有类型实例,而另一个具有类型函数。我不确定是否有办法解决这个问题。 (尝试在每个上打印 type(myFunc) 以查看)
-
你是正确的类型,是在 pydoc 中使用的信息吗?
标签: python introspection pydoc