A Brief Rundown of Changes and Additions in Python 3.1. He previous articles in this series (see the Related Resources section in the left column) covered the releases of Python 3.0 and Python 2.6. Despite the relative youth of these versions, the Python core developers have already created Python 3.1, which was released on June 27, 2009—less than seven months after the release of Python 3.0. While the 3.1 release has much smaller scope than Python 3.0, it still brings several interesting features, additions—and everybody's favorite—performance improvements!
Core Language Changes I'll cover changes to the core language first, and then move on to changes in the standard library and performance improvements. String Formatting One welcome feature is the ability to auto-number format fields. Formatting strings is a very common operation in many programs. >>> '%s, %s! ' Python 3.0 added advanced string formatting capabilities (PEP-3101) modeled after C#'s format syntax: >>> '{0}, {1}! '. >>> '{}, {}! '. PEP-378: Format Specifier for Thousands Separator. 3.0.1 Release. Python 3.0 is end-of-lifed with the release of Python 3.1. All users of Python 3.0 should upgrade to Python 3.1. Python 3.0.1 was released on February 13, 2009. It was a bugfix release of Python 3.0. This is the first bugfix release of Python 3.0. Python 3.0 is now in bugfix-only mode; no new features are being added. Python 3.0 (a.k.a. Here are some Python 3.0 resources: Please report bugs at See also the license.
Python 3000 Status Update (Long!) There are too many changes to list them all here; instead, I will refer to the PEPs. However, I'd like to highlight a number of features that I find to be significant or expect to be of particular interest or controversial. Unicode, Codecs and I/O We're switching to a model known from Java: (immutable) text strings are Unicode, and binary data is represented by a separate mutable "bytes" data type. In addition, the parser will be more Unicode-friendly: the default source encoding will be UTF-8, and non-ASCII letters can be used in identifiers. There is some debate still about normalization, specific alphabets, and whether we can reasonably support right-to-left scripts. However, the standard library will continue to use ASCII only for identifiers, and limit the use of non-ASCII in comments and string literals to unit tests for some of the Unicode features, and author names. We will use "... " or '...' interchangeably for Unicode literals, and b"...
" or b'...' for bytes literals. The Evolution of Python 3 - O'Reilly Broadcast. In December 2008, the Python developers released Python 3.0 , a new version of the popular dynamic programming language. While Python creator Guido van Rossum had discussed ideas for Python 3000 (renamed Python 3.0) for several years, the community began to work on it in earnest in 2005. Guido generously agreed to discuss the development process and what this new release means for the future of the language. First of all, congratulations on Python 3.0. Guido van Rossum: Thanks a lot. I know it's been a while, but was the process successful from your point-of-view?
Guido van Rossum: It doesn't even matter so much whether it's successful from my point of view as long as it's successful from the community's point of view. Did you take a smaller role in development this time? Guido van Rossum: I did it until a year ago and then for various reasons probably having to do also with moving to a different team at Google, I played a less active role. Whose idea was that? I think it was a -Q flag.