[Python-checkins] r45562 - python/trunk/Doc/whatsnew/whatsnew25.tex (original) (raw)
andrew.kuchling python-checkins at python.org
Wed Apr 19 14:55:39 CEST 2006
- Previous message: [Python-checkins] r45561 - peps/trunk/pep-0356.txt
- Next message: [Python-checkins] r45563 - python/trunk/Objects/stringobject.c
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: andrew.kuchling Date: Wed Apr 19 14:55:39 2006 New Revision: 45562
Modified: python/trunk/Doc/whatsnew/whatsnew25.tex Log: Write datetime.strptime() item; show use of @contextmanager in defining context methods; minor edits; add two names
Modified: python/trunk/Doc/whatsnew/whatsnew25.tex
--- python/trunk/Doc/whatsnew/whatsnew25.tex (original)
+++ python/trunk/Doc/whatsnew/whatsnew25.tex Wed Apr 19 14:55:39 2006
@@ -145,7 +145,7 @@
\begin{seealso}
\seepep{308}{Conditional Expressions}{PEP written by
-Guido van Rossum and Raymond D. Hettinger; implemented by Thomas
+Guido vanRossum and Raymond D. Hettinger; implemented by Thomas
Wouters.}
\end{seealso}
@@ -549,7 +549,7 @@
therefore been removed. This seems like a minor bit of language
trivia, but using generators and \code{try...finally} is actually
necessary in order to implement the \keyword{with} statement
-described by PEP 343. We'll look at this new statement in the following
+described by PEP 343. I'll look at this new statement in the following
section.
Another even more esoteric effect of this change: previously, the
@@ -560,7 +560,7 @@
\begin{seealso}
\seepep{342}{Coroutines via Enhanced Generators}{PEP written by
-Guido van Rossum and Phillip J. Eby;
+Guido vanRossum and Phillip J. Eby;
implemented by Phillip J. Eby. Includes examples of
some fancier uses of generators as coroutines.}
@@ -581,10 +581,10 @@
uses \code{try...finally} blocks to ensure that clean-up code is
executed.
-First, I'll discuss the statement as it will commonly be used, and
-then a subsection will examine the implementation details and how to
-write objects (called context managers'') that can be used with this -statement. +In this section, I'll discuss the statement as it will commonly be +used. In the next section, I'll examine the implementation details +and show how to write objects called
context managers'' and
+contexts'' for use with this statement. The \keyword{with} statement is a new control-flow structure whose basic structure is: @@ -830,10 +830,29 @@ ... \end{verbatim} -There's a \function{nested(\var{mgr1}, \var{mgr2}, ...)} manager that -combines a number of context managers so you don't need to write -nested \keyword{with} statements. This example -both uses a database transaction and also acquires a thread lock: +You can also use this decorator to write the \method{__context__()} method +for a class without creating a new class for the context: + +\begin{verbatim} +class DatabaseConnection: + + @contextmanager + def __context__ (self): + cursor = self.cursor() + try: + yield cursor + except: + self.rollback() + raise + else: + self.commit() +\end{verbatim} + + +There's a \function{nested(\var{mgr1}, \var{mgr2}, ...)} manager that +combines a number of context managers so you don't need to write +nested \keyword{with} statements. This example statement does two +things, starting a database transaction and acquiring a thread lock: \begin{verbatim} lock = threading.Lock() @@ -853,8 +872,8 @@ \begin{seealso} -\seepep{343}{The
with'' statement}{PEP written by Guido van Rossum
-and Nick Coghlan; implemented by Mike Bland, Guido van Rossum, and
+\seepep{343}{The ``with'' statement}{PEP written by Guido vanRossum
+and Nick Coghlan; implemented by Mike Bland, Guido vanRossum, and
Neal Norwitz. The PEP shows the code generated for a \keyword{with}
statement, which can be helpful in learning how context managers
work.}
@@ -926,7 +945,7 @@
\begin{seealso}
\seepep{352}{Required Superclass for Exceptions}{PEP written by
-Brett Cannon and Guido van Rossum; implemented by Brett Cannon.}
+Brett Cannon and Guido van~Rossum; implemented by Brett Cannon.}
\end{seealso}
@@ -1174,9 +1193,6 @@
% the cPickle module no longer accepts the deprecated None option in the
% args tuple returned by reduce().
-% XXX datetime.datetime() now has a strptime class method which can be used to
-% create datetime object using a string and format.
% XXX fileinput: opening hook used to control how files are opened. % .input() now has a mode parameter % now has a fileno() function @@ -1250,6 +1266,19 @@ \member{line_num} is not the same as the number of records read. (Contributed by Skip Montanaro and Andrew McNamara.)
+\item The \class{datetime} class in the \module{datetime} +module now has a \method{strptime(\var{string}, \var{format})} +method for parsing date strings, contributed by Josh Spoerri. +It uses the same format characters as \function{time.strptime()} and +\function{time.strftime()}: + +\begin{verbatim} +from datetime import datetime + +ts = datetime.strptime('10:13:15 2006-03-07',
'%H:%M:%S %Y-%m-%d')
+\end{verbatim} + \item In the \module{gc} module, the new \function{get_count()} function returns a 3-tuple containing the current collection counts for the three GC generations. This is accounting information for the garbage @@ -1943,6 +1972,7 @@
The author would like to thank the following people for offering
suggestions, corrections and assistance with various drafts of this
-article: Martin vonL"owis, Mike Rovner, Thomas Wouters.
+article: Phillip J. Eby, Kent Johnson, Martin vonL"owis, Mike
+Rovner, Thomas Wouters.
\end{document}
- Previous message: [Python-checkins] r45561 - peps/trunk/pep-0356.txt
- Next message: [Python-checkins] r45563 - python/trunk/Objects/stringobject.c
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]