我希望按名称(使用装饰器)复制同一文件中函数的文档字符串。
我可以轻松地使用当前模块之外的函数来完成此操作,但是当涉及到同一模块(或更具体地说是同一类)时我有点困惑
这是我到目前为止所拥有的:
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)
有什么有趣的想法吗?