With the release of Python 3.8 coming soon, the core development team has asked me to summarize our latest discussions on the new features planned for Python 4.0, codename "ouroboros: the snake will eat itself". This will be an exciting release and a significant milestone, many thanks to the hard work of over 100 contributors.
z'my string'and Python will automatically ensure it is NULL-terminated. Note: the new z-strings cannot be used with any of the existing APIs that take string arguments - they must first be decoded to unicode strings or cast to
asynckeyword before every single other keyword in the Python language, and we encourage you to
async do so. There's nothing wrong with cargo-culting some magic keywords all over the place -- you want to go fast, don't you?
dataclasses(3.7), Python 4.0 will include several new thousand line decorator-hacks to implement simple struct types.
strthing kept many of us employed as we had convinced our companies they needed to upgrade to Python 3. In the same spirit, we are excited to announce that there will now be two
intwill be a 32-bit signed integer, and
longwill be a 64-bit signed integer. But before you say, "hey, they did that in Python 2!", we'd like to add that you can no longer use
intanywhere, and will need to convert them all to
2to3utility, we plan to release a
3to4tool that will automatically convert your code to utilize these exciting new features.
With much sadness, the following features did not make the cut:
switchstatement (and yes, yes, I know you can use a
dictto do dispatching).
concurrent.Presentwill not be merged in time for this release, but hey, we've got futures, haven't we?
We look forward to this release, and will do everything in our power to ensure it takes us several minor versions before it is even remotely usable.
Take heart! Remember the python motto:
What is dead can never die