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 ...

Get Picking a Python Version: A Manifesto now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.