Adakah yang tahu apakah mungkin menautkan function1.__doc__ ke function2.__doc__ tanpa menulisnya 2 kali ?

Misalnya saya mencoba sesuatu seperti:


def function1():
    """This is my function1 doc !
    """
    pass

def function2():
    __doc__ = function1.__doc__
    pass


>>> help(function2)
>>> 'This is my function1 doc !'

Baris terakhir adalah apa yang saya ingin miliki.

Terima kasih! :)

1
Clement Plessis 11 Mei 2021, 18:14

2 jawaban

Jawaban Terbaik

Anda bisa menetapkannya setelah Anda mendefinisikan fungsinya.

def function1():
    """This is my function1 doc !
    """
    pass

def function2():
    pass
function2.__doc__ = function1.__doc__

Karena suatu fungsi hanyalah objek dalam python dengan atribut, Anda dapat mengubah atribut sesuai keinginan Anda.

1
DriesDS 11 Mei 2021, 15:20

Jadi inilah yang perlu Anda lakukan:

def function1():
    pass

def function2():
    pass

function1.__doc__ = function2.__doc__ = """This is my function1 doc !"""

Jadi sekarang jika Anda mencetak docstring dari fungsi apa pun dari keduanya, hasilnya adalah:
This is my function1 doc !

0
Salem Jebnoun 11 Mei 2021, 15:54