> > What's the advantage of using two calls to getcontext() vs. saving
the
> > context in a local variable?
> 
> I also prefer saving the context in a local variable but that is just
a
> micro-optimization.  The presentation with multiple calls to
> getcontext() was kept just to match the style of the original -- the
> important change was the absolute save and restore versus the original
> relative adjust up and adjust down.

One more thought:  Rather than just saving the precision, it is likely
wiser, safer, and more general to just save and restore the whole
context and let the wrapped block only work with a copy.

    oldcontext = decimal.getcontext()
    newcontext = oldcontext.copy()
    newcontext.prec += 2
    yield None
    decimal.setcontext(oldcontext)

This approach defends against various kinds of unruly behavior by the
yield target.



Raymond Hettinger
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to