|
|
1
6
我发现这类事情的通常方法是:“使用源代码”。 基本上,我假设Python的标准模块在可用时会使用这种特性。寻找源头( for example here )应该有帮助,但实际上即使是标准模块也会在自动输出后添加原型。这样地: torsten@pulsar:~$ python2.6
>>> import fcntl
>>> help(fcntl.flock)
flock(...)
flock(fd, operation)
Perform the lock operation op on file descriptor fd. See the Unix [...]
因此,由于上游不使用这样的特性,我假设它不在那里。-)
好吧,我刚查了一下目前的Python3k来源,情况仍然如此。该签名生成于
if inspect.isfunction(object):
args, varargs, varkw, defaults = inspect.getargspec(object)
...
else:
argspec = '(...)'
inspect.is function检查文档请求的对象是否是python函数。但是C实现的函数被认为是内置的,因此您将始终
|
|
|
2
6
已经7年了 但是可以包含C扩展函数和类的签名 .
python本身使用
Argument Clinic
动态生成签名。然后一些机械师创造了一个
实际上,您可以从python获得参数clinic,并以动态方式进行,但我更喜欢手动方式:向docstring添加签名: 在你的情况下:
我在包装中大量使用了这个:
此函数的docstring已定义 this file . 重要的是要认识到 不可能用于python<3.4 你需要遵守一些规则:
|