все 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Сообщить о неточности