小编Tre*_*vor的帖子

按名称将函数的文档字符串复制到另一个函数

我希望按名称(使用装饰器)复制同一文件中函数的文档字符串。

我可以轻松地使用当前模块之外的函数来完成此操作,但是当涉及到同一模块(或更具体地说是同一类)时我有点困惑

这是我到目前为止所拥有的:

import inspect

def copy_doc(func_name: str):
    def wrapper(func):
        doc = ... # get doc from function that has the name as func_name
        func.__doc__ = doc
        return func
    retun wrapper
Run Code Online (Sandbox Code Playgroud)

我正在寻找可以完成以下两个示例的东西:

例1:

def this() -> None:
    """Fun doc string"""
    return

@copy_doc('this')
def that() -> None:
    return

print(that.__doc__)
Run Code Online (Sandbox Code Playgroud)

例2:

class This:
    def foo(self) -> None:
        """Fun doc string"""
        return None

    @copy_doc('foo')
    def bar(self) -> None:
        return None

print(This().bar.__doc__)
Run Code Online (Sandbox Code Playgroud)

有什么有趣的想法吗?

python docstring

6
推荐指数
1
解决办法
2921
查看次数

标签 统计

docstring ×1

python ×1