Python Glossary English

Python 3.14+Числа и математикафункция

decimal.IEEEContext()

decimal

Создаёт контекст decimal под формат обмена IEEE 754 (decimal32, decimal64, decimal128) по числу бит, кратному 32.

Синтаксис

decimal.IEEEContext(bits) -> Context

Появилась в Python 3.14. Число бит — не точность: IEEEContext(64) даёт prec=16, IEEEContext(32) — prec=7. В отличие от контекста по умолчанию, ловушки у него выключены: деление на ноль не бросает DivisionByZero, а молча даёт Infinity и лишь ставит флаг. Аргумент не кратный 32 или больше 512 — ValueError.

Примеры

import decimal
ctx = decimal.IEEEContext(32)
print(ctx.prec, ctx.divide(1, 3))  # → 7 0.3333333
import decimal
ctx = decimal.IEEEContext(64)
print(ctx.divide(1, 0), bool(ctx.flags[decimal.DivisionByZero]))  # → Infinity True
import decimal
try:
    decimal.IEEEContext(40)
except ValueError as e:
    print(e)  # → argument must be a multiple of 32, with a maximum of 512

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности