Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code.
Python runs on Windows, Linux/Unix, Mac OS X, OS/2, Amiga, Palm Handhelds, and Nokia mobile phones. Python has also been ported to the Java and .NET virtual machines.
Python is distributed under an OSI-approved open source license that makes it free to use, even for commercial products.
- syntax for delegating to a subgenerator (yield from)
- flexible string representation (doing away with the distinction between "wide" and "narrow" Unicode builds)
- A C implementation of the "decimal" module, with up to 120x speedup for decimal-heavy applications
- The import system (__import__) is based on importlib by default
- The new "lzma" module with LZMA/XZ support
- a Python launcher for Windows
- virtual environment support in core
- namespace package support
- reworking the OS and IO exception hierarchy
- qualified name for classes and functions
- suppressing exception context
- explicit Unicode literals to help with porting
- extended platform-independent clocks in the "time" module
- a new key-sharing dictionary implementation that significantly saves memory for object-oriented code
- the function-signature object
- The new "faulthandler" module that helps diagnosing crashes
- The new "unittest.mock" module
- The new "ipaddress" module
- The "sys.implementation" attribute
- A policy framework for the email package, with a provisional (see PEP 411) policy that adds much improved unicode support for email header parsing
- A "collections.ChainMap" class for linking mappings to a single unit
- Wrappers for many more POSIX functions in the "os" and "signal" modules, as well as other useful functions such as "sendfile()"
- Hash randomization, introduced in earlier bugfix releases, is now switched on by default