numpy.errstate
-
class numpy.errstate(**kwargs)[source] -
Менеджер контекста для обработки ошибок с плавающей запятой.
Использование экземпляра
errstateв качестве менеджера контекста позволяет операторам в этом контексте выполнять операции с известным поведением обработки ошибок. При входе в контекст обработка ошибок настраивается с помощьюseterrиseterrcall, а при выходе из него восстанавливается прежнее состояние.Параметры: kwargs : {divide, over, under, invalid}
Ключевые аргументы. Допустимые ключевые слова — это возможные исключения с плавающей запятой. Каждое ключевое слово должно иметь строковое значение, определяющее обработку конкретной ошибки. Возможные значения: {‘ignore’, ‘warn’, ‘raise’, ‘call’, ‘print’, ‘log’}.
См. также
Примечания
Оператор
withбыл введен в Python 2.5 и может использоваться только в нём путём импорта:from __future__ import with_statement. В более ранних версиях Python операторwithнедоступен.Полное описание типов исключений с плавающей запятой и вариантов обработки см. в
seterr.Примеры
>>> from __future__ import with_statement # use 'with' in Python 2.5 >>> olderr = np.seterr(all='ignore') # Set error handling to known state.
>>> np.arange(3) / 0. array([ NaN, Inf, Inf]) >>> with np.errstate(divide='warn'): ... np.arange(3) / 0. ... __main__:2: RuntimeWarning: divide by zero encountered in divide array([ NaN, Inf, Inf])
>>> np.sqrt(-1) 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() {'over': 'warn', 'divide': 'warn', 'invalid': 'warn', 'under': 'ignore'}
© 2005–2019 NumPy Developers
Licensed under the 3-clause BSD License.
https://docs.scipy.org/doc/numpy-1.14.5/reference/generated/numpy.errstate.html