The team behind Python announced the discharge of Python 3.9.0a1, which is that the first out of the six planned alpha releases of Python 3.9. An alpha release indicates that developers can start testing the new features and check for bug fixes but aren’t recommended to use it in production.
Python 3.8 was released last month with new features like positional-only parameters support for Vectorcall, walrus operator. In upcoming version Python 3.9, you can expect below raw features.
Some improvements introduced in Python 3.9.0a1
The __import__() function which is invoked by the import statement will now raise ImportError rather than ValueError. within the previous versions, the latter wont to occur when a relative import went past its top-level package.
Starting from Python 3.9.0a1, absolutely the path of the script filename is going to be specified on the command line: the __file__ attribute of the __main__ module. The sys.argv and sys.path will become an absolute path instead of a relative path. Also, the traceback will now display absolutely the path for __main__ module frames during this case.
The encoding and errors arguments within the debug build and development mode will now be checked within the string encoding and decoding operations.
ast: it’s added within the indent choice to dump() and produces a multi-line indented output.
asyncio: It can now use coroutine which may be a generalized sort of subroutines. Subroutines enter and exit at only two different points, while coroutines are often entered, exited, and resumed at many points.
The next alpha release for Python 3.9 is scheduled for 16th December 2019.
To know more about Python 3.9.0a1, inspect the official documentation.