Python Glossary English

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

inspect.cleandoc()

исходный код

Убирает из docstring отступ, с которым он записан внутри кода, а также пустые строки в начале и в конце.

Синтаксис

inspect.cleandoc(doc)

Первая строка docstring обычно идёт сразу за кавычками без отступа, а остальные — с отступом функции. textwrap.dedent ищет общий отступ всех строк и на таком тексте не убирает ничего; cleandoc обрабатывает первую строку отдельно и снимает общий отступ со второй и дальше, сохраняя вложенный. Табуляции при этом превращаются в пробелы. С 3.13 общий отступ из __doc__ снимает уже компилятор, но для текста из других источников и старых версий cleandoc по-прежнему нужна; getdoc() зовёт её сам.

Примеры

import inspect, textwrap
doc = 'Первая строка.\n\n        Вложенный отступ.\n    Конец.\n    '
print(repr(textwrap.dedent(doc).splitlines()[3]))  # → '    Конец.' — отступ остался
print(repr(inspect.cleandoc(doc)))
# → 'Первая строка.\n\n    Вложенный отступ.\nКонец.'

См. также

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