Python 3.8 Brings "Walrus Operator," Standardizes ABI for Release and Debug Builds

First release for the language since Guido van Rossum's departure as "Benevolent Dictator for Life" back in July 2018.

Gareth Halfacree
6 years ago

The Python development community has officially released Python 3.8, the latest stable version of the popular programming language - and in doing so has finally introduced the long-awaited "walrus operator": :=

"There is new syntax := that assigns values to variables as part of a larger expression," the release notes for Python 3.8 explain. "It is affectionately known as 'the walrus operator' due to its resemblance to the eyes and tusks of a walrus." Designed to simplify code, the introduction of the walrus operator - more properly termed "Assignment Expressions" - has not been without its controversy, as the detailed feature proposal document PEP 572 outlines.

Python 3.8 also brings standardization for the application binary interface (ABI), using the same ABI for both stable and debug builds - meaning it's now possible to load C extensions built in both release mode and with the stable ABI even when Python is built in debug mode.

Other changes since Python 3.7 include a new function parameter syntax - / - which marks function parameters for positional specification and blocks their use as keyword arguments, a new parallel filesystem cache for compiled bytecode files, support for self-documenting expressions and debugging via the = specifier in f-strings, new Audit and Verified Open runtime hooks, a new C API for Python Initialisation configuration, a fast-calling protocol for CPython, support for out-of-band buffers in multi-core and multi-machine processing function pickle, and a range of additional enhancements detailed in the changelog.

Python 3.8 also marks the first release under Python's new governance model, since language author Guido van Rossum stepped down as "Benevolent Dictator for Life" in July 2018 - in response, his parting message explained, to the arguments caused by the walrus operator proposal. Python is now governed under a steering council, which is made up of van Rossum and four other members of the development community.

The latest version of Python is, as always, available from the official website.

Gareth Halfacree
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.
Latest articles
Sponsored articles
Related articles
Latest articles
Read more
Related articles