对于partial function application,我知道在Python中有几种方法可以做到这一点。但是,它们似乎没有保留原始函数的docstring。在
以functools.partial
为例:
from functools import partial
def foo(a, b, c=1):
"""Return (a+b)*c."""
return (a+b)*c
bar10_p = partial(foo, b=10)
print bar10_p.__doc__
partial(func, *args, **keywords) - new function with partial application
of the given arguments and keywords.
让我们试试fn.py:
^{pr2}$有没有Python包/模块提供部分应用程序的保留docstring?在
正如@Kevin和@Martijn Pieters所述,函数签名已更改,因此不建议坚持原始函数的docstring。我意识到我正在寻找一个更新的docstring,其中包含foo() with a default b value of 10
(感谢Kevin简单而直接的示例)。在
__doc__
在partial
对象和函数上都是可写的;只需将其复制到:或者使用^{} function 为您进行复制;它还会为您复制其他一些元数据:
^{pr2}$只需编写一个新的
__doc__
。在您的函数具有与原始函数不同的接口,因此它不应完全复制docstring。在
Partial可以访问原始函数
func
方法。所以通过原始函数,您可以访问原始函数docstring。在试试这个:
相关问题 更多 >
编程相关推荐