все Python 3astфункция
ast.get_docstring()
вспомогательные функции
Возвращает докстринг модуля, функции или класса из дерева AST — без импорта и запуска кода. Удобно для проверки, что у функций есть описание.
Синтаксис
ast.get_docstring(node, clean=True)
Докстринг — только строка, стоящая первой инструкцией тела; строка после другой инструкции даёт None. Узел должен быть Module, FunctionDef, AsyncFunctionDef или ClassDef — для иного узла будет TypeError. По умолчанию clean=True убирает общий отступ (как inspect.cleandoc), clean=False вернёт текст как есть.
Примеры
import ast
src = 'def area(r):\n """Площадь круга."""\n return 3.14 * r * r\n\ndef bare():\n pass'
tree = ast.parse(src)
for f in tree.body:
print(f.name, ast.get_docstring(f)) # → area Площадь круга. / bare None
import ast
tree = ast.parse('x = 1\n"""не докстринг"""')
print(ast.get_docstring(tree)) # → None
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности