summaryrefslogtreecommitdiffstats
path: root/Doc/whatsnew
diff options
context:
space:
mode:
Diffstat (limited to 'Doc/whatsnew')
-rw-r--r--Doc/whatsnew/whatsnew25.tex48
-rw-r--r--Doc/whatsnew/whatsnew26.tex137
2 files changed, 163 insertions, 22 deletions
diff --git a/Doc/whatsnew/whatsnew25.tex b/Doc/whatsnew/whatsnew25.tex
index bf939c0..fb68acc 100644
--- a/Doc/whatsnew/whatsnew25.tex
+++ b/Doc/whatsnew/whatsnew25.tex
@@ -409,7 +409,7 @@ is always executed, or one or more \keyword{except} blocks to catch
specific exceptions. You couldn't combine both \keyword{except} blocks and a
\keyword{finally} block, because generating the right bytecode for the
combined version was complicated and it wasn't clear what the
-semantics of the combined should be.
+semantics of the combined statement should be.
Guido van~Rossum spent some time working with Java, which does support the
equivalent of combining \keyword{except} blocks and a
@@ -540,10 +540,10 @@ Traceback (most recent call last):
StopIteration
\end{verbatim}
-Because \keyword{yield} will often be returning \constant{None}, you
+\keyword{yield} will usually return \constant{None}, so you
should always check for this case. Don't just use its value in
expressions unless you're sure that the \method{send()} method
-will be the only method used resume your generator function.
+will be the only method used to resume your generator function.
In addition to \method{send()}, there are two other new methods on
generators:
@@ -683,22 +683,22 @@ with lock:
The lock is acquired before the block is executed and always released once
the block is complete.
-The \module{decimal} module's contexts, which encapsulate the desired
-precision and rounding characteristics for computations, provide a
-\method{context_manager()} method for getting a context manager:
+The new \function{localcontext()} function in the \module{decimal} module
+makes it easy to save and restore the current decimal context, which
+encapsulates the desired precision and rounding characteristics for
+computations:
\begin{verbatim}
-import decimal
+from decimal import Decimal, Context, localcontext
# Displays with default precision of 28 digits
-v1 = decimal.Decimal('578')
-print v1.sqrt()
+v = Decimal('578')
+print v.sqrt()
-ctx = decimal.Context(prec=16)
-with ctx.context_manager():
+with localcontext(Context(prec=16)):
# All code in this block uses a precision of 16 digits.
# The original context is restored on exiting the block.
- print v1.sqrt()
+ print v.sqrt()
\end{verbatim}
\subsection{Writing Context Managers\label{context-managers}}
@@ -1115,12 +1115,14 @@ Some examples:
\begin{verbatim}
>>> ('http://www.python.org').partition('://')
('http', '://', 'www.python.org')
->>> (u'Subject: a quick question').partition(':')
-(u'Subject', u':', u' a quick question')
>>> ('file:/usr/share/doc/index.html').partition('://')
('file:/usr/share/doc/index.html', '', '')
+>>> (u'Subject: a quick question').partition(':')
+(u'Subject', u':', u' a quick question')
>>> 'www.python.org'.rpartition('.')
('www.python', '.', 'org')
+>>> 'www.python.org'.rpartition(':')
+('', '', 'www.python.org')
\end{verbatim}
(Implemented by Fredrik Lundh following a suggestion by Raymond Hettinger.)
@@ -2114,14 +2116,16 @@ The pysqlite module (\url{http://www.pysqlite.org}), a wrapper for the
SQLite embedded database, has been added to the standard library under
the package name \module{sqlite3}.
-SQLite is a C library that provides a SQL-language database that
-stores data in disk files without requiring a separate server process.
+SQLite is a C library that provides a lightweight disk-based database
+that doesn't require a separate server process and allows accessing
+the database using a nonstandard variant of the SQL query language.
+Some applications can use SQLite for internal data storage. It's also
+possible to prototype an application using SQLite and then port the
+code to a larger database such as PostgreSQL or Oracle.
+
pysqlite was written by Gerhard H\"aring and provides a SQL interface
compliant with the DB-API 2.0 specification described by
-\pep{249}. This means that it should be possible to write the first
-version of your applications using SQLite for data storage. If
-switching to a larger database such as PostgreSQL or Oracle is
-later necessary, the switch should be relatively easy.
+\pep{249}.
If you're compiling the Python source yourself, note that the source
tree doesn't include the SQLite code, only the wrapper module.
@@ -2148,8 +2152,8 @@ c = conn.cursor()
# Create table
c.execute('''create table stocks
-(date timestamp, trans varchar, symbol varchar,
- qty decimal, price decimal)''')
+(date text, trans text, symbol text,
+ qty real, price real)''')
# Insert a row of data
c.execute("""insert into stocks
diff --git a/Doc/whatsnew/whatsnew26.tex b/Doc/whatsnew/whatsnew26.tex
new file mode 100644
index 0000000..afe067e
--- /dev/null
+++ b/Doc/whatsnew/whatsnew26.tex
@@ -0,0 +1,137 @@
+\documentclass{howto}
+\usepackage{distutils}
+% $Id$
+
+
+\title{What's New in Python 2.6}
+\release{0.0}
+\author{A.M. Kuchling}
+\authoraddress{\email{amk@amk.ca}}
+
+\begin{document}
+\maketitle
+\tableofcontents
+
+This article explains the new features in Python 2.6. No release date
+for Python 2.6 has been set; it will probably be released in late 2007.
+
+% Compare with previous release in 2 - 3 sentences here.
+
+This article doesn't attempt to provide a complete specification of
+the new features, but instead provides a convenient overview. For
+full details, you should refer to the documentation for Python 2.6.
+% add hyperlink when the documentation becomes available online.
+If you want to understand the complete implementation and design
+rationale, refer to the PEP for a particular new feature.
+
+
+%======================================================================
+
+% Large, PEP-level features and changes should be described here.
+
+
+%======================================================================
+\section{Other Language Changes}
+
+Here are all of the changes that Python 2.6 makes to the core Python
+language.
+
+\begin{itemize}
+\item TBD
+
+\end{itemize}
+
+
+%======================================================================
+\subsection{Optimizations}
+
+\begin{itemize}
+
+\item Optimizations should be described here.
+
+\end{itemize}
+
+The net result of the 2.6 optimizations is that Python 2.6 runs the
+pystone benchmark around XX\% faster than Python 2.5.
+
+
+%======================================================================
+\section{New, Improved, and Deprecated Modules}
+
+As usual, Python's standard library received a number of enhancements and
+bug fixes. Here's a partial list of the most notable changes, sorted
+alphabetically by module name. Consult the
+\file{Misc/NEWS} file in the source tree for a more
+complete list of changes, or look through the CVS logs for all the
+details.
+
+\begin{itemize}
+
+\item The \module{smtplib} module now supports SMTP over
+SSL thanks to the addition of the \class{SMTP_SSL} class.
+This class supports an interface identical to the existing \class{SMTP}
+class. (Contributed by Monty Taylor.)
+
+\end{itemize}
+
+
+%======================================================================
+% whole new modules get described in \subsections here
+
+
+% ======================================================================
+\section{Build and C API Changes}
+
+Changes to Python's build process and to the C API include:
+
+\begin{itemize}
+
+\item Detailed changes are listed here.
+
+\end{itemize}
+
+
+%======================================================================
+\subsection{Port-Specific Changes}
+
+Platform-specific changes go here.
+
+
+%======================================================================
+\section{Other Changes and Fixes \label{section-other}}
+
+As usual, there were a bunch of other improvements and bugfixes
+scattered throughout the source tree. A search through the change
+logs finds there were XXX patches applied and YYY bugs fixed between
+Python 2.5 and 2.6. Both figures are likely to be underestimates.
+
+Some of the more notable changes are:
+
+\begin{itemize}
+
+\item Details go here.
+
+\end{itemize}
+
+
+%======================================================================
+\section{Porting to Python 2.6}
+
+This section lists previously described changes that may require
+changes to your code:
+
+\begin{itemize}
+
+\item Everything is all in the details!
+
+\end{itemize}
+
+
+%======================================================================
+\section{Acknowledgements \label{acks}}
+
+The author would like to thank the following people for offering
+suggestions, corrections and assistance with various drafts of this
+article: .
+
+\end{document}