Python Glossary English

все Python 3inspectфункция

inspect.getdoc()

исходный код

Docstring объекта с выровненными отступами; если своего нет — берёт из родительского класса. Возвращает None, когда документации нет вовсе.

Синтаксис

inspect.getdoc(object)

Отличие от __doc__ двойное. Во-первых, текст проходит через cleandoc: уходит отступ, с которым docstring записан внутри функции. Во-вторых, переопределённый метод без своего docstring получает родительский (с 3.5), а класс без docstring — docstring предка: obj.__doc__ в этих случаях даёт None. Так работает help(); если нужна именно своя строка, читайте __doc__.

Примеры

import inspect
class Base:
    def run(self):
        """Запустить задачу."""
class Child(Base):
    def run(self):
        pass
print(Child.run.__doc__)  # → None
print(inspect.getdoc(Child.run))  # → Запустить задачу.
import inspect
def f():
    """Заголовок.
        Подробности.
    """
print(repr(inspect.getdoc(f)))  # → 'Заголовок.\n\nПодробности.'

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности