Alpha release of Python 3.3.0 brings first syntax changes in two years
The 3.3.0 version of the Python programming language has entered the testing phase with its first alpha release. This version marks the lifting of a two-year moratorium on changes to the language's syntax. Proposed by Guido van Rossum as Python Enhancement Proposal (PEP) 3003, the moratorium was designed to enable non-CPython implementations of the language to catch up to the core implementation after the Python 3.0 release.
With changes to the syntax being permitted once again, the freshly released alpha includes a new way to enable generators to delegate work to sub-generators, which opens up new possibilities of optimising iterations in Python code. Another syntax change adds the
__qualname__ attribute to functions and classes. This makes it possible to tell if the object is at the top-level of the hierarchy or if it is nested inside another object.
PEP 393 makes string representation more flexible by changing the Unicode string type to allow several internal representations at the same time. This allows programmers to either optimise space efficiency or maximum available characters and drops the distinction between narrow and wide Unicode builds. Additionally, the Unicode literal syntax from Python 2 has been reintegrated into Python 3.3.0 to make porting of Python 2 applications easier. Guido van Rossum whole-heartedly endorsed this change by saying "I'm accepting the PEP. It's about as harmless as they come. Make it so." Other changes in the new release include improved exception handling, a new "packaging" module and support for LZMA/XZ compression.
More details about the changes can be found in the release notes and in What's New In Python 3.3. Python 3.3.0 alpha 1 is available for download for Windows and Mac OS X, and as source code under the Python Software Foundation Licence. This version is a development release and is not recommended for production use. The current stable versions of the language are Python 3.2.2 and Python 2.7.2.
- Python 3.2.2 fixes regression, a report from The H.
- Python 3.2 arrives with a better global interpreter lock, a report from The H.