libb.copydoc

copydoc(fromfunc, sep='\n', basefirst=True)[source]

Decorator to copy the docstring of another function.

Parameters:
  • fromfunc – Function to copy docstring from.

  • sep (str) – Separator between docstrings.

  • basefirst (bool) – If True, base docstring comes first.

Returns:

Decorator function.

Example:

>>> class A():
...     def myfunction():
...         '''Documentation for A.'''
...         pass
>>> class B(A):
...     @copydoc(A.myfunction)
...     def myfunction():
...         '''Extra details for B.'''
...         pass
>>> class C(A):
...     @copydoc(A.myfunction, basefirst=False)
...     def myfunction():
...         '''Extra details for B.'''
...         pass

Do not activate doctests:

>>> class D():
...     def myfunction():
...         '''.>>> 2 + 2 = 5'''
...         pass
>>> class E(D):
...     @copydoc(D.myfunction)
...     def myfunction():
...         '''Extra details for E.'''
...         pass
>>> help(B.myfunction)
Help on function myfunction in module ...:

myfunction()
    Documentation for A.
    Extra details for B.

>>> help(C.myfunction)
Help on function myfunction in module ...:

myfunction()
    Extra details for B.
    Documentation for A.

>>> help(E.myfunction)
Help on function myfunction in module ...:

myfunction()
    .>>> 2 + 2 = 5 
    Extra details for E.