Numpydoc 如何记录函数的签名作为参数

Numpydoc how to document the signature of a function as an argument

我有这个功能

def foo(bar):
    return bar(var1, var2)

其中 bar 是一个函数,它接受两个名为 var1var2 和 returns 一个 str obj 的变量,什么是正确的 numpydocs 方式记录这个?

我想到了类似的东西:

def foo(bar):
    """
    ...
    Parameters
    -----------
    bar: func(var1: list[str], var2: str) -> str
    """
    return bar(var1, var2)

我会这样做:

def foo(bar):
    """
    ...
    Parameters
    ----------
    bar: callable
        - ``var1``: description of parameter var1 (`list`).
        - ``var2``: description of parameter var2 (`str`).
    """
    return bar(var1, var2)

如果您确实需要包含该内部函数的 return 类型,那么也许:


def foo(bar):
    """
    ...
    Parameters
    ----------
    bar: callable

         ``bar(var1: list[str], var2: str) -> str``

    Some description about `var1` and `var2`.
    """
    return bar(var1, var2)