Spec-Zone.ru › NumPy 1.11

numpy.errstate

class numpy.errstate(**kwargs) [source]

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

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

Параметры:

kwargs : {divide, over, under, invalid}

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

См. также

seterr, geterr, seterrcall, geterrcall

Примечания

Оператор 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'}

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.errstate.html

Spec-Zone.ru

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