diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2006-09-02 04:04:18 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2006-09-02 04:04:18 (GMT) |
commit | e7877d930c44daf1b0fe22d2c33738d2c321c4b8 (patch) | |
tree | eba692b7a43a26fa71e7b00038dac0d7fd7f2971 /Doc | |
parent | ced1218dd1b69ac848f8c79d1afaada5669af33c (diff) | |
download | cpython-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.tex | 25 |
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 |