Python 在类方法中重用函数docstring

Python 在类方法中重用函数docstring,python,Python,我有两个文件夹:a和b。在文件夹a中,我有一个名为fun1的函数。在文件夹b中,我有一个名为class1的类。在class1中有一个名为meth1的方法。方法meth1从文件夹a返回fun1 如何在meth1中使用fun1的docstring而不重新编写docstring 我试过的如下,但不起作用 文件夹a 文件夹b 您可能需要助手: def func1(): """ docstring of fun1 """ pass def doc_setter(origi

我有两个文件夹:a和b。在文件夹a中,我有一个名为fun1的函数。在文件夹b中,我有一个名为class1的类。在class1中有一个名为meth1的方法。方法meth1从文件夹a返回fun1

如何在meth1中使用fun1的docstring而不重新编写docstring

我试过的如下,但不起作用

文件夹a

文件夹b

您可能需要助手:

def func1():
    """
    docstring of fun1
    """
    pass

def doc_setter(origin):
    def wrapper(func):
        func.__doc__ = origin.__doc__
        return func
    return wrapper

class class1:

    @doc_setter(func1)
    def meth1(self):
        return func1

它也可以是一个选项,但带有辅助对象的变体更好:

class class1:
    def meth1(self):
        return fun1

class1.meth1.__doc__ = fun1.__doc__

很抱歉,我不得不告诉你这个坏消息,但是你的想法是错误的。如果meth1返回fun1,那么它不应该有相同的docstring,一个会说,例如,返回一个函数,另一个不会。如果meth1实际上总是调用fun1,那么您根本不应该使用meth1。如果meth1只是偶尔调用fun1,那么它也不应该有相同的docstring。总而言之:meth1应该有一个不同的docstring,或者它不应该首先存在。我在类外有函数,因为它们非常大,并且做了很多数学运算。我在类中调用它们来为最终用户创建GUI。我上面提供的示例非常简单。谢谢你的意见。谢谢。
def func1():
    """
    docstring of fun1
    """
    pass

def doc_setter(origin):
    def wrapper(func):
        func.__doc__ = origin.__doc__
        return func
    return wrapper

class class1:

    @doc_setter(func1)
    def meth1(self):
        return func1
class class1:
    def meth1(self):
        return fun1

class1.meth1.__doc__ = fun1.__doc__