Spec-Zone.ru › NumPy 2.0

numpy.errstate

classnumpy.errstate(**kwargs)[source]

Менеджер контекста для обработки ошибок с плавающей точкой.

Использование экземпляра errstate в качестве менеджера контекста позволяет операторам в этом контексте выполняться с известным поведением обработки ошибок. При входе в контекст обработка ошибок устанавливается с помощью seterr и seterrcall, а при выходе из него восстанавливается прежнее значение.

Изменено в версии 1.17.0: errstate также может использоваться как декоратор функции, что экономит уровень отступов, если вся функция обернута.

Изменено в версии 2.0: errstate теперь полностью безопасен для потоков и asyncio, но может быть вызван не более одного раза. Не рекомендуется использование декоратора для асинхронных функций с помощью errstate.

Параметры:
kwargs{divide, over, under, invalid}

Параметры ключевых слов. Допустимые ключевые слова — возможные исключения с плавающей точкой. Каждое ключевое слово должно иметь строковое значение, определяющее обработку конкретной ошибки. Возможные значения {‘ignore’, ‘warn’, ‘raise’, ‘call’, ‘print’, ‘log’}.

См. также

seterr, geterr, seterrcall, geterrcall

Примечания

Полная документация по типам исключений с плавающей точкой и вариантам обработки приведена в seterr.

Примеры

>>> olderr = np.seterr(all='ignore')  # Set error handling to known state.
>>> np.arange(3) / 0.
array([nan, inf, inf])
>>> with np.errstate(divide='ignore'):
...     np.arange(3) / 0.
array([nan, inf, inf])
>>> np.sqrt(-1)
np.float64(nan)
>>> with np.errstate(invalid='raise'):
...     np.sqrt(-1)
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
FloatingPointError: invalid value encountered in sqrt

За пределами контекста поведение обработки ошибок не изменилось:

>>> np.geterr()
{'divide': 'ignore', 'over': 'ignore', 'under': 'ignore', 'invalid': 'ignore'}
>>> olderr = np.seterr(**olderr)  # restore original state

Методы

__call__(func)

Вызов self как функции.

© 2005–2024 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/2.0/reference/generated/numpy.errstate.html

Spec-Zone.ru

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