Python 3.7
Python 3.7
New Features:
| Feature | Status | |
|---|---|---|
| PEP 538 | Coercing the legacy C locale to a UTF-8 based locale | |
| PEP 539 | A New C-API for Thread-Local Storage in CPython | |
| PEP 540 | UTF-8 mode | |
| PEP 552 | Deterministic pyc | |
| PEP 553 | Built-in breakpoint() | |
| PEP 557 | Data Classes | |
| PEP 560 | Core support for typing module and generic types | |
| PEP 562 | Module __getattr__ and __dir__ | Partial |
| PEP 563 | Postponed Evaluation of Annotations | |
| PEP 564 | Time functions with nanosecond resolution | Partial |
| PEP 565 | Show DeprecationWarning in __main__ | |
| PEP 567 | Context Variables |
Other Language Changes:
async and await are now reserved keywords | Complete |
|---|---|
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 totest if a string or bytes contain only the ASCII characters | |
ImportError now displays module name and module __file__ path when from ... 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 beinstantiated 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 toshow the timing of each module import |
Changes to built-in modules:
| asyncio | |
|---|---|
| Too many to list | |
| gc | |
| New features include gc.freeze(), gc.unfreeze(), gc-get_freeze_count | |
| math | |
| math.remainder() added to implement IEEE 754-style remainder | |
| 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 | |
| sys.breakpointhook() added. sys.get(/set)_coroutine_origin_tracking_depth() added | |
| time | |
| Mostly updates to support nanosecond resolution in PEP564, see above |
Notes
Only time.time_ns() is implemented.
