diff options
Diffstat (limited to 'docs/differences/python_37.rst')
| -rw-r--r-- | docs/differences/python_37.rst | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/docs/differences/python_37.rst b/docs/differences/python_37.rst new file mode 100644 index 000000000..c46678e93 --- /dev/null +++ b/docs/differences/python_37.rst @@ -0,0 +1,95 @@ +.. _python_37: + +Python 3.7 +========== + +New Features: + + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | **Features:** | **Status** | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 538 <https://www.python.org/dev/peps/pep-0538/>`_ | Coercing the legacy C locale to a UTF-8 based | | + | | locale | | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 539 <https://www.python.org/dev/peps/pep-0539/>`_ | A New C-API for Thread-Local Storage in CPython | | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 540 <https://www.python.org/dev/peps/pep-0540/>`_ | UTF-8 mode | | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 552 <https://www.python.org/dev/peps/pep-0552/>`_ | Deterministic pyc | | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 553 <https://www.python.org/dev/peps/pep-0553/>`_ | Built-in breakpoint() | | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 557 <https://www.python.org/dev/peps/pep-0557/>`_ | Data Classes | | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 560 <https://www.python.org/dev/peps/pep-0560/>`_ | Core support for typing module and generic types | | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 562 <https://www.python.org/dev/peps/pep-0562/>`_ | Module __getattr__ and __dir__ | Partially done | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 563 <https://www.python.org/dev/peps/pep-0563/>`_ | Postponed Evaluation of Annotations | | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 564 <https://www.python.org/dev/peps/pep-0564/>`_ | Time functions with nanosecond resolution | | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 565 <https://www.python.org/dev/peps/pep-0565/>`_ | Show DeprecationWarning in __main__ | | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + | `PEP 567 <https://www.python.org/dev/peps/pep-0567/>`_ | Context Variables | | + +--------------------------------------------------------+--------------------------------------------------+----------------+ + +Other Language Changes: + + +----------------------------------------------------------------------------------------------------------+----------------+ + | async and await are now reserved keywords | Completed | + +----------------------------------------------------------------------------------------------------------+----------------+ + | dict objects must preserve insertion-order | | + +----------------------------------------------------------------------------------------------------------+----------------+ + | More than 255 arguments can now be passed to a function; a function can now have more than 255 parameters| | + +----------------------------------------------------------------------------------------------------------+----------------+ + | bytes.fromhex() and bytearray.fromhex() now ignore all ASCII whitespace, not only spaces | | + +----------------------------------------------------------------------------------------------------------+----------------+ + | str, bytes, and bytearray gained support for the new isascii() method, which can be used to test if a | | + | string or bytes contain only the ASCII characters | | + +----------------------------------------------------------------------------------------------------------+----------------+ + | ImportError now displays module name and module __file__ path whenfrom ... import ... fails | | + +----------------------------------------------------------------------------------------------------------+----------------+ + | Circular imports involving absolute imports with binding a submodule to a name are now supported | | + +----------------------------------------------------------------------------------------------------------+----------------+ + | object.__format__(x, '') is now equivalent to str(x) rather than format(str(self), '') | | + +----------------------------------------------------------------------------------------------------------+----------------+ + | In order to better support dynamic creation of stack traces, types.TracebackType can now be instantiated | | + | from Python code, and the tb_next attribute on tracebacks is now writable | | + +----------------------------------------------------------------------------------------------------------+----------------+ + | When using the -m switch, sys.path[0] is now eagerly expanded to the full starting directory path, rather| | + | than being left as the empty directory (which allows imports from the current working directory at the | | + | time when an import occurs) | | + +----------------------------------------------------------------------------------------------------------+----------------+ + | The new -X importtime option or the PYTHONPROFILEIMPORTTIME environment variable can be used to show the | | + | timing of each module import | | + +----------------------------------------------------------------------------------------------------------+----------------+ + +Changes to built-in modules: + + +------------------------------------------------------------------------------------------------------------+----------------+ + | `asyncio <https://docs.python.org/3/whatsnew/3.7.html#asyncio>`_ | | + +------------------------------------------------------------------------------------------------------------+----------------+ + | asyncio (many, may need a separate ticket) | | + +------------------------------------------------------------------------------------------------------------+----------------+ + | `gc <https://docs.python.org/3/whatsnew/3.7.html#gc>`_ | | + +------------------------------------------------------------------------------------------------------------+----------------+ + | New features include *gc.freeze()*, *gc.unfreeze()*, *gc-get_freeze_count* | | + +------------------------------------------------------------------------------------------------------------+----------------+ + | `math <https://docs.python.org/3/whatsnew/3.7.html#math>`_ | | + +------------------------------------------------------------------------------------------------------------+----------------+ + | math.remainder() added to implement IEEE 754-style remainder | | + +------------------------------------------------------------------------------------------------------------+----------------+ + | `re <https://docs.python.org/3/whatsnew/3.7.html#re>`_ | | + +------------------------------------------------------------------------------------------------------------+----------------+ + | A number of tidy up features including better support for splitting on empty strings and copy support for | | + | compiled expressions and match objects | | + +------------------------------------------------------------------------------------------------------------+----------------+ + | `sys <https://docs.python.org/3/whatsnew/3.7.html#sys>`_ | | + +------------------------------------------------------------------------------------------------------------+----------------+ + | sys.breakpointhook() added. sys.get(/set)_coroutine_origin_tracking_depth() added | | + +------------------------------------------------------------------------------------------------------------+----------------+ + | `time <https://docs.python.org/3/whatsnew/3.7.html#time>`_ | | + +------------------------------------------------------------------------------------------------------------+----------------+ + | Mostly updates to support nanosecond resolution in PEP564, see above | | + +------------------------------------------------------------------------------------------------------------+----------------+ |
