numpy.lib.add_newdoc
- lib.add_newdoc(place, obj, doc, warn_on_python=True)[source]
-
Добавление документации к существующему объекту, обычно определённому на C
Целью является более лёгкое редактирование строковых описаний (docstrings) без необходимости перекомпиляции. В основном используется для внутренней работы в NumPy.
- Параметры:
-
- placestr
-
Абсолютное имя модуля для импорта
- objstr или None
-
Имя объекта, которому нужно добавить документацию, обычно имя класса или функции.
- doc{str, Tuple[str, str], List[Tuple[str, str]]}
-
Если строка, то документация, которая должна быть применена к
objЕсли кортеж, то первый элемент интерпретируется как атрибут
obj, а второй как docstring для применения -(method, docstring)Если список, то каждый элемент списка должен быть кортежем длиной два -
[(method1, docstring1), (method2, docstring2), ...] - warn_on_pythonbool
-
Если True (по умолчанию), то выводится
UserWarningесли эта функция используется для добавления документации к объекту чисто на Python.
Примечания
Эта функция никогда не генерирует ошибку, если docstring не может быть записан, но генерирует ошибку, если документируемый объект не существует.
Эта функция не может изменить read-only docstrings, такие как в классах нового стиля или встроенных функциях. Поскольку эта функция никогда не генерирует ошибку, вызывающий код должен вручную проверить, были ли изменены docstrings.
Так как эта функция получает
char *из строкового объекта C-уровня и помещает его вtp_docслот типаobj, она нарушает ряд лучших практик C-API, нарушая:- изменение
PyTypeObjectпосле вызоваPyType_Ready - вызов
Py_INCREFна строке и потерю ссылки, поэтому строка никогда не будет освобождена
Если возможно, следует избегать её использования.
© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.lib.add_newdoc.html