The next version of Python brings a faster release schedule, performance boosts, handy new string functions, dictionary union operators, and more consistent and stable internal APIs
Earlier this month, the Python Software Foundation whisked back the curtain on the first beta of Python 3.9, which is scheduled for production release in October. With the release of the beta, all of the major changes of Python 3.9 have been set, meaning the time is ripe to see what the next version of Python brings to the world.
Here is a rundown of all of the big new features in Python 3.9.
TABLE OF CONTENTS
Up until this point, Python has been developed and released on an eighteen-month cadence. PEP 602 proposed that the Python development team adopt an annual release cycle, and that proposal has been accepted.
An annual release cycle means fewer features per release, but it also means faster feedback on feature testing, fewer potentially breaking changes for each release, and thus more incentive for users and Linux distribution managers to upgrade Python more often. It also means new features proposed late in the development cycle won’t take as long to be rolled into a new release.
The new timeline means Python 3.9 will ship in October 2020. Python 3.10 officially started pre-alpha development on May 19, 2020, will enter the alpha development phase when Python 3.9 ships, and will ship in October 2021. Future Python releases will follow the same pattern.
Every revision of Python enjoys performance improvements over the previous version. Python 3.9 rolls in two big improvements that boost performance without requiring any changes to existing code.
The first improvement involves more use of the vectorcall protocol introduced in Python 3.8. vectorcall
makes many common function calls faster by minimizing or eliminating temporary objects created for the call. In Python 3.9, several Python built-ins — range, tuple, set, frozenset, list, dict
— use vectorcall
internally to speed up execution.
#python #python 3.9 #programming