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Сообщить о неточности