Spec-Zone.ru › NumPy 2.0

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API