0

假设我有一些函数(比如 B1、B2、B3 等)调用相同的函数 A,我想在 B1、B2、B3 的文档字符串中放入一些解释函数 A 使用的参数的文本,这些已经在函数A的文档字符串中解释了。但是我不想将A的文档字符串复制到B1,然后是B2,然后是B3,然后如果我更改函数A的文档字符串,那么我必须更改B1,B2,B3 ...再次,所以我想知道是否有某种方法可以将 B1 的部分文档字符串链接到 A 的文档字符串,这样当 A 的文档字符串更新时,B1 的相应部分也会更新。这样用户就可以直接参考函数B1的docstring获取帮助信息,而无需查看A的docstring。(实际上A的参数都是kwargs)。一个简单的例子可能如下所示:

def A():
    '''
    I am doctring for function A
    '''
    pass

def B1():
    '''
    I am doctring for function B1,

    followed by the same docstring as function A, which is:

    ** I would like someway I can put the docstring of A here**
    '''
    pass

感谢您的帮助或将我推荐给其他链接,我尝试使用谷歌搜索,但没有找到目标信息。

4

1 回答 1

3

您可以编写一个装饰器来执行此操作:

def append_doc_of(fun):
    def decorator(f):
        f.__doc__ += fun.__doc__
        return f

    return decorator


def A():
    '''
    I am doctring for function A
    '''
    pass


@append_doc_of(A)
def B1():
    '''
    I am doctring for function B1,

    followed by the same docstring as function A, which is:

    '''
    pass
于 2013-01-03T22:28:07.750 回答