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.Примеры
>>> 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