


On Unix, when Python is built in debug mode, it is now possible to load C extensions built in release mode and C extensions built using the stable ABI. Debug build uses the same ABI as release build – Python now uses the same ABI whether it built in release or debug mode.The location of the cache is reported in sys.pycache_prefix (None indicates the default location in _pycache_ subdirectories).

Parallel filesystem cache for compiled bytecode files – The new PYTHONPYCACHEPREFIX setting (also available as -X pycache_prefix) configures the implicit bytecode cache to use a separate parallel filesystem tree, rather than the default _pycache_ subdirectories within each source directory.This is the same notation as shown by help() for functions implemented in C (produced by Larry Hastings’ “Argument Clinic” tool). Positional-only parameters – There is new syntax (/) to indicate that some function parameters must be specified positionally (i.e., cannot be used as keyword arguments).Assignment expressions – There is new syntax (the “walrus operator”, :=) to assign values to variables as part of an expression.The new features in Python 3.8, compared to 3.7. Python is developed under an OSI-approved open source license, making it freely usable and distributable, even for commercial use.
