O'Reilly logo

Picking a Python Version: A Manifesto by David Mertz

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 3. Advantages of Python 3.x

A pretty thorough overview of improvements to Python 3.x versions is contained in the series of “What’s new in Python N.m" documents. Each document focuses on the improvements that were made since the prior minor version, rather than globally what’s new in the history of Python.

Here are some highlights of new capabilities, somewhat subjectively listed because this writer finds them interesting or important. Lots of worthwhile features and modules did not make the cut for discussion in this paper.

Unicode Handling

In Python 3.x, the str type is always Unicode (with efficient encoding strategies for strings in recent Python 3.x versions, based on the specific code points occuring within strings). There are far too many intricacies to the correct handling of all the characters in all the world (thoughout the history of human language, moreover) within the same program, with many semantic nuances of directionality, character composition, the Basic Multilingual Plane versus Supplementary Planes, code surrogates, canonicalization, and on and on, to discuss in this paper.

Let it suffice for the quick summary to say that recent versions of Python 3.x versions get all these details correct and make them usable. That is not to say that multilingual programming is easy, but Python 3.x gets ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required