Copyright © 2017, edureka and/or its affiliates. All rights reserved.
New Features
New Modules
www.edureka.co/python
Other Language Changes
www.edureka.co/python
Assignment Expressions
It is an assignment
operator “:=” that is used to
assign values to a variable as
a larger part of the expression
www.edureka.co/python
Positional-Only Parameters
There is a new function parameter
syntax “/”, It is used to indicate that some
parameters can be used positionally and
cannot be used as keywords.
/A B
www.edureka.co/python
Parallel Filesystem Cache
There is a
new PYTHONPYCACHEPREFIX setting in
python 3.8, it configures the implicit
bytecode cache to use a separate parallel
filesystem tree.
www.edureka.co/python
Debug Build
With Python 3.8, the same ABI is used
whether it is built in debug mode or in
release mode. When Python used UNIX in
debug mode, it is now possible to load the
C extensions that are built in release mode
and the extensions build using the stable
ABI.
www.edureka.co/python
f-Strings Support
Python 3.8 has added
a = specifier for f-strings.
www.edureka.co/python
Run-time Audit Hooks
An audit hook in an application
is an exit point that allows the
auditor to add the modules
subsequently.
Audit Hook
The verified open hook allows
python embedders to integrate
with operating system support
when launching scripts or
importing Python code.
Verified
Open Hook
www.edureka.co/python
Initialization Configuration
Python 3.8 adds new C API to configure the
initialization for finer control and better error
reporting. The following new structures are
added.
PyConfig
PyPreConfig
PyStatus
PyWideStringList
www.edureka.co/python
Vectorcall
It is a fast calling protocol for CPython, It is added to
the Python/C API. It is basically meant to formalize the
existing optimizations that were already made for
various classes.
www.edureka.co/python
Pickle Protocol 5
• It covers the extra metadata needed for out-of-
band data buffers
• Pickle 5 has a new PickleBuffer type
for __reduce_ex__ implementations to return
out-of-band data buffers
• It has a new buffer_callback parameter when
pickling, to handle out-of-band data buffers
• It also has a new buffers parameter when
unpickling to provide out-of-band data buffers.
www.edureka.co/python
www.edureka.co/python
New Modules
Importlib.metadata
There has been an addition of
a new module in Python 3.8,
the new importlib.metadata
module provides provisional
support for reading metadata
from third party packages.
www.edureka.co/python
Other
Language
Changes
Syntax Warnings
Other
Language
Changes
Reversible Dictionaries
Reversed()
A : 10 B : 20,
B : 20 A : 10,
Other
Language
Changes
Multiprocessing Shared Memory
Other
Language
Changes
Typing Module Improvements
www.edureka.co/python
Copyright © 2017, edureka and/or its affiliates. All rights reserved.
www.edureka.co
www.edureka.co/python

What's new in python 3.8? | Python 3.8 New Features | Edureka