mirror of https://github.com/python/cpython
Rewrites and additions resulting from today's feedback
This commit is contained in:
parent
5b40f1c212
commit
433b5c4d34
|
@ -50,7 +50,7 @@ features, and was written by Cameron Laird and Kathryn Soraiz.}
|
||||||
|
|
||||||
|
|
||||||
%======================================================================
|
%======================================================================
|
||||||
\section{PEP 252: Type and Class Changes}
|
\section{PEPs 252 and 253: Type and Class Changes}
|
||||||
|
|
||||||
The largest and most far-reaching changes in Python 2.2 are to
|
The largest and most far-reaching changes in Python 2.2 are to
|
||||||
Python's model of objects and classes. The changes should be backward
|
Python's model of objects and classes. The changes should be backward
|
||||||
|
@ -334,6 +334,8 @@ Following this rule, referring to \method{D.save()} will return
|
||||||
\method{C.save()}, which is the behaviour we're after. This lookup
|
\method{C.save()}, which is the behaviour we're after. This lookup
|
||||||
rule is the same as the one followed by Common Lisp.
|
rule is the same as the one followed by Common Lisp.
|
||||||
|
|
||||||
|
% XXX mention super()
|
||||||
|
|
||||||
|
|
||||||
\subsection{Attribute Access}
|
\subsection{Attribute Access}
|
||||||
|
|
||||||
|
@ -871,22 +873,21 @@ Python's Unicode support has been enhanced a bit in 2.2. Unicode
|
||||||
strings are usually stored as UCS-2, as 16-bit unsigned integers.
|
strings are usually stored as UCS-2, as 16-bit unsigned integers.
|
||||||
Python 2.2 can also be compiled to use UCS-4, 32-bit unsigned
|
Python 2.2 can also be compiled to use UCS-4, 32-bit unsigned
|
||||||
integers, as its internal encoding by supplying
|
integers, as its internal encoding by supplying
|
||||||
\longprogramopt{enable-unicode=ucs4} to the configure script. When
|
\longprogramopt{enable-unicode=ucs4} to the configure script.
|
||||||
built to use UCS-4 (a ``wide Python''), the interpreter can natively
|
(It's also possible to specify
|
||||||
handle Unicode characters from U+000000 to U+110000, so the range of
|
\longprogramopt{disable-unicode} to completely disable Unicode
|
||||||
legal values for the \function{unichr()} function is expanded
|
support.)
|
||||||
|
|
||||||
|
When built to use UCS-4 (a ``wide Python''), the interpreter can
|
||||||
|
natively handle Unicode characters from U+000000 to U+110000, so the
|
||||||
|
range of legal values for the \function{unichr()} function is expanded
|
||||||
accordingly. Using an interpreter compiled to use UCS-2 (a ``narrow
|
accordingly. Using an interpreter compiled to use UCS-2 (a ``narrow
|
||||||
Python''), values greater than 65535 will still cause
|
Python''), values greater than 65535 will still cause
|
||||||
\function{unichr()} to raise a \exception{ValueError} exception.
|
\function{unichr()} to raise a \exception{ValueError} exception.
|
||||||
|
This is all described in \pep{261}, ``Support for `wide' Unicode
|
||||||
|
characters''; consult it for further details.
|
||||||
|
|
||||||
% XXX is this still unimplemented?
|
Another change is simpler to explain. Since their introduction,
|
||||||
All this is the province of the still-unimplemented \pep{261}, ``Support
|
|
||||||
for `wide' Unicode characters''; consult it for further details, and
|
|
||||||
please offer comments on the PEP and on your experiences with the
|
|
||||||
2.2 beta releases.
|
|
||||||
% XXX update previous line once 2.2 reaches beta or final.
|
|
||||||
|
|
||||||
Another change is much simpler to explain. Since their introduction,
|
|
||||||
Unicode strings have supported an \method{encode()} method to convert
|
Unicode strings have supported an \method{encode()} method to convert
|
||||||
the string to a selected encoding such as UTF-8 or Latin-1. A
|
the string to a selected encoding such as UTF-8 or Latin-1. A
|
||||||
symmetric \method{decode(\optional{\var{encoding}})} method has been
|
symmetric \method{decode(\optional{\var{encoding}})} method has been
|
||||||
|
@ -928,8 +929,8 @@ L\"owis.
|
||||||
|
|
||||||
\begin{seealso}
|
\begin{seealso}
|
||||||
|
|
||||||
\seepep{261}{Support for `wide' Unicode characters}{PEP written by
|
\seepep{261}{Support for `wide' Unicode characters}{Written by
|
||||||
Paul Prescod. Not yet accepted or fully implemented.}
|
Paul Prescod.}
|
||||||
|
|
||||||
\end{seealso}
|
\end{seealso}
|
||||||
|
|
||||||
|
@ -1074,8 +1075,25 @@ The \module{SimpleXMLRPCServer} module makes it easy to create
|
||||||
straightforward XML-RPC servers. See \url{http://www.xmlrpc.com/} for
|
straightforward XML-RPC servers. See \url{http://www.xmlrpc.com/} for
|
||||||
more information about XML-RPC.
|
more information about XML-RPC.
|
||||||
|
|
||||||
\item The new \module{hmac} module implements implements the HMAC
|
\item The new \module{hmac} module implements the HMAC
|
||||||
algorithm described by \rfc{2104}.
|
algorithm described by \rfc{2104}.
|
||||||
|
(Contributed by Gerhard H\"aring.)
|
||||||
|
|
||||||
|
\item Several functions that originally returned lengthy tuples now
|
||||||
|
return pseudo-sequences that still behave like tuples but also have
|
||||||
|
mnemonic attributes such as member{st_mtime} or \member{tm_year}.
|
||||||
|
The enhanced functions include \function{stat()},
|
||||||
|
\function{fstat()}, \function{statvfs()}, and \function{fstatvfs()}
|
||||||
|
in the \module{os} module, and \function{localtime()},
|
||||||
|
\function{gmtime()}, and \function{strptime()} in the \module{time}
|
||||||
|
module.
|
||||||
|
|
||||||
|
For example, to obtain a file's size using the old tuples, you'd end
|
||||||
|
up writing something like \code{file_size =
|
||||||
|
os.stat(filename)[stat.ST_SIZE]}, but now this can be written more
|
||||||
|
clearly as \code{file_size = os.stat(filename).st_size}.
|
||||||
|
|
||||||
|
The original patch for this feature was contributed by Nick Mathewson.
|
||||||
|
|
||||||
\item The Python profiler has been extensively reworked and various
|
\item The Python profiler has been extensively reworked and various
|
||||||
errors in its output have been corrected. (Contributed by Fred
|
errors in its output have been corrected. (Contributed by Fred
|
||||||
|
@ -1104,20 +1122,25 @@ more information about XML-RPC.
|
||||||
to the SRE engine underlying the \module{re} module. For example,
|
to the SRE engine underlying the \module{re} module. For example,
|
||||||
the \function{re.sub()} and \function{re.split()} functions have
|
the \function{re.sub()} and \function{re.split()} functions have
|
||||||
been rewritten in C. Another contributed patch speeds up certain
|
been rewritten in C. Another contributed patch speeds up certain
|
||||||
Unicode character ranges by a factor of two. (SRE is maintained by
|
Unicode character ranges by a factor of two, and a new \method{finditer()}
|
||||||
|
method that returns an iterator over all the non-overlapping matches in
|
||||||
|
a given string.
|
||||||
|
(SRE is maintained by
|
||||||
Fredrik Lundh. The BIGCHARSET patch was contributed by Martin von
|
Fredrik Lundh. The BIGCHARSET patch was contributed by Martin von
|
||||||
L\"owis.)
|
L\"owis.)
|
||||||
|
|
||||||
\item The \module{smtplib} module now supports \rfc{2487}, ``Secure
|
\item The \module{smtplib} module now supports \rfc{2487}, ``Secure
|
||||||
SMTP over TLS'', so it's now possible to encrypt the SMTP traffic
|
SMTP over TLS'', so it's now possible to encrypt the SMTP traffic
|
||||||
between a Python program and the mail transport agent being handed a
|
between a Python program and the mail transport agent being handed a
|
||||||
message. (Contributed by Gerhard H\"aring.)
|
message. \module{smtplib} also supports SMTP authentication.
|
||||||
|
(Contributed by Gerhard H\"aring.)
|
||||||
|
|
||||||
\item The \module{imaplib} module, maintained by Piers Lauder, has
|
\item The \module{imaplib} module, maintained by Piers Lauder, has
|
||||||
support for several new extensions: the NAMESPACE extension defined
|
support for several new extensions: the NAMESPACE extension defined
|
||||||
in \rfc{2342}, SORT, GETACL and SETACL. (Contributed by Anthony
|
in \rfc{2342}, SORT, GETACL and SETACL. (Contributed by Anthony
|
||||||
Baxter and Michel Pelletier.)
|
Baxter and Michel Pelletier.)
|
||||||
|
|
||||||
|
% XXX should the 'email' module get a section of its own?
|
||||||
\item The \module{rfc822} module's parsing of email addresses is now
|
\item The \module{rfc822} module's parsing of email addresses is now
|
||||||
compliant with \rfc{2822}, an update to \rfc{822}. (The module's
|
compliant with \rfc{2822}, an update to \rfc{822}. (The module's
|
||||||
name is \emph{not} going to be changed to \samp{rfc2822}.) A new
|
name is \emph{not} going to be changed to \samp{rfc2822}.) A new
|
||||||
|
@ -1302,9 +1325,10 @@ to experiment with these modules can uncomment them manually.
|
||||||
now convert it to an MBCS encoded string, as used by the Microsoft
|
now convert it to an MBCS encoded string, as used by the Microsoft
|
||||||
file APIs. As MBCS is explicitly used by the file APIs, Python's
|
file APIs. As MBCS is explicitly used by the file APIs, Python's
|
||||||
choice of ASCII as the default encoding turns out to be an
|
choice of ASCII as the default encoding turns out to be an
|
||||||
annoyance.
|
annoyance. On Unix, the locale's character set is used if
|
||||||
(Contributed by Mark Hammond with assistance from Marc-Andr\'e
|
\function{locale.nl_langinfo(CODESET)} is available. (Windows
|
||||||
Lemburg.)
|
support was contributed by Mark Hammond with assistance from
|
||||||
|
Marc-Andr\'e Lemburg. Unix support was added by Martin von L\"owis.)
|
||||||
|
|
||||||
\item Large file support is now enabled on Windows. (Contributed by
|
\item Large file support is now enabled on Windows. (Contributed by
|
||||||
Tim Peters.)
|
Tim Peters.)
|
||||||
|
@ -1371,8 +1395,9 @@ to experiment with these modules can uncomment them manually.
|
||||||
The author would like to thank the following people for offering
|
The author would like to thank the following people for offering
|
||||||
suggestions, corrections and assistance with various drafts of this
|
suggestions, corrections and assistance with various drafts of this
|
||||||
article: Fred Bremmer, Keith Briggs, Andrew Dalke, Fred~L. Drake, Jr.,
|
article: Fred Bremmer, Keith Briggs, Andrew Dalke, Fred~L. Drake, Jr.,
|
||||||
Carel Fellinger, Mark Hammond, Stephen Hansen, Michael Hudson, Jack Jansen,
|
Carel Fellinger, Mark Hammond, Stephen Hansen, Michael Hudson, Jack
|
||||||
Marc-Andr\'e Lemburg, Fredrik Lundh, Michael McLay, Tim Peters, Jens
|
Jansen, Marc-Andr\'e Lemburg, Martin von L\"owis, Fredrik Lundh,
|
||||||
Quade, Tom Reinhardt, Neil Schemenauer, Guido van Rossum.
|
Michael McLay, Nick Mathewson, Paul Moore, Tim Peters, Jens Quade, Tom
|
||||||
|
Reinhardt, Neil Schemenauer, Guido van Rossum.
|
||||||
|
|
||||||
\end{document}
|
\end{document}
|
||||||
|
|
Loading…
Reference in New Issue