summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2006-09-02 04:04:18 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2006-09-02 04:04:18 (GMT)
commite7877d930c44daf1b0fe22d2c33738d2c321c4b8 (patch)
treeeba692b7a43a26fa71e7b00038dac0d7fd7f2971 /Doc
parentced1218dd1b69ac848f8c79d1afaada5669af33c (diff)
downloadcpython-e7877d930c44daf1b0fe22d2c33738d2c321c4b8.zip
cpython-e7877d930c44daf1b0fe22d2c33738d2c321c4b8.tar.gz
cpython-e7877d930c44daf1b0fe22d2c33738d2c321c4b8.tar.bz2
Further corrections to the decimal module context management documentation
Diffstat (limited to 'Doc')
-rw-r--r--Doc/lib/libdecimal.tex25
1 files changed, 11 insertions, 14 deletions
diff --git a/Doc/lib/libdecimal.tex b/Doc/lib/libdecimal.tex
index 6f5dc2a..68748f6 100644
--- a/Doc/lib/libdecimal.tex
+++ b/Doc/lib/libdecimal.tex
@@ -443,36 +443,33 @@ the \function{getcontext()} and \function{setcontext()} functions:
\end{funcdesc}
Beginning with Python 2.5, you can also use the \keyword{with} statement
-to temporarily change the active context.
+and the \function{localcontext()} function to temporarily change the
+active context.
\begin{funcdesc}{localcontext}{\optional{c}}
Return a context manager that will set the current context for
the active thread to a copy of \var{c} on entry to the with statement
- and restore the previous context when exiting the with statement.
+ and restore the previous context when exiting the with statement. If
+ no context is specified, a copy of the current context is used.
For example the following code increases the current decimal precision
- by 2 places, performs a calculation, and then automatically restores
+ by 42 places, performs a calculation, and then automatically restores
the previous context:
\begin{verbatim}
from __future__ import with_statement
import decimal
with decimal.localcontext() as ctx:
- ctx.prec += 2 # add 2 more digits of precision
+ ctx.prec = 42 # Perform a high precision calculation
s = calculate_something()
s = +s # Round the final result back to the default precision
\end{verbatim}
-\end{funcdesc}
-
-The context that's active in the body of the \keyword{with} statement is
-a \emph{copy} of the context you provided to the \keyword{with}
-statement, so modifying its attributes doesn't affect anything except
-that temporary copy.
-You can use any decimal context in a \keyword{with} statement, but if
-you just want to make a temporary change to some aspect of the current
-context, it's easiest to just use \function{getcontext()} as shown
-above.
+ The context that is held by the context manager and made active in the
+ body of the \keyword{with} statement is a \emph{copy} of the context
+ you provide to this function, so modifying its attributes doesn't
+ affect anything except that temporary copy.
+\end{funcdesc}
New contexts can also be created using the \class{Context} constructor
described below. In addition, the module provides three pre-made