मेरे पास दो फोल्डर हैं: a और b। फ़ोल्डर a में, मेरे पास fun1 नामक एक फ़ंक्शन है। फ़ोल्डर में b मेरे पास class1 नामक एक वर्ग है। class1 के अंदर meth1 नाम की एक विधि है। विधि meth1 फोल्डर से fun1 लौटाती है a

मैं docstring को फिर से लिखे बिना fun1 में meth1 के डॉकस्ट्रिंग का उपयोग कैसे कर सकता हूं?

मैंने जो कोशिश की वह नीचे की तरह है लेकिन यह काम नहीं किया।

फ़ोल्डर a

def fun1():
    """
    docstring of fun1
    """
    ...
    ...
    ...

फ़ोल्डर b

from a import fun1
class class1:
    def meth1(self):
        self.meth1.__dic__ = fun1.__doc__
        return fun1
     ...
     ...
-1
Khalil Al Hooti 30 सितंबर 2019, 01:19

2 जवाब

सबसे बढ़िया उत्तर

आपको एक सहायक की आवश्यकता हो सकती है:

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
1
Sraw 30 सितंबर 2019, 01:45

यह एक विकल्प भी हो सकता है (लेकिन सहायक के साथ संस्करण बेहतर है):

class class1:
    def meth1(self):
        return fun1

class1.meth1.__doc__ = fun1.__doc__
2
Olvin Roght 30 सितंबर 2019, 01:49