Python 3.7

Nieuwe functies:

Functie

Status

PEP 538

De verouderde C-locale dwingen naar een op UTF-8 gebaseerde locale

PEP 539

Een nieuwe C-API voor thread-local storage in CPython

PEP 540

UTF-8-modus

PEP 552

Deterministische pyc

PEP 553

Ingebouwde breakpoint()

PEP 557

Data Classes

PEP 560

Kernondersteuning voor de typing-module en generieke types

PEP 562

Module __getattr__ en __dir__

Gedeeltelijk

PEP 563

Uitgestelde evaluatie van annotaties

PEP 564

Tijdfuncties met nanoseconderesolutie

Gedeeltelijk [1]

PEP 565

DeprecationWarning tonen in __main__

PEP 567

Contextvariabelen

Overige taalwijzigingen:

async en await zijn nu gereserveerde sleutelwoorden

Voltooid

dict-objecten moeten de invoegvolgorde behouden

Er kunnen nu meer dan 255 argumenten aan een functie worden doorgegeven; een functie kan nu meer dan 255 parameters hebben

bytes.fromhex() en bytearray.fromhex() negeren nu alle ASCII-witruimte, niet alleen spaties

str, bytes en bytearray hebben ondersteuning gekregen voor de nieuwe methode isascii(), waarmee kan worden getest of een tekenreeks of bytes alleen de ASCII-tekens bevatten

ImportError toont nu de modulenaam en het __file__-pad van de module wanneer from ... import ... mislukt

Circulaire imports waarbij absolute imports een submodule aan een naam binden, worden nu ondersteund

object.__format__(x, '') is nu equivalent aan str(x) in plaats van format(str(self), '')

Om de dynamische aanmaak van stack traces beter te ondersteunen, kan types.TracebackType nu vanuit Python-code worden geïnstantieerd, en het attribuut tb_next op tracebacks is nu schrijfbaar

Bij het gebruik van de -m-schakelaar wordt sys.path[0] nu direct uitgebreid tot het volledige startmappad, in plaats van als de lege map te worden gelaten (wat imports vanuit de huidige werkmap op het moment van een import mogelijk maakt)

De nieuwe optie -X importtime of de omgevingsvariabele PYTHONPROFILEIMPORTTIME kan worden gebruikt om de timing van elke module-import te tonen

Wijzigingen in ingebouwde modules:

asyncio

Te veel om op te sommen

gc

Nieuwe functies zijn onder andere gc.freeze(), gc.unfreeze(), gc-get_freeze_count

math

math.remainder() toegevoegd om de rest volgens de IEEE 754-stijl te implementeren

re

Een aantal opschoonfuncties, waaronder betere ondersteuning voor het splitsen op lege tekenreeksen en kopieerondersteuning voor gecompileerde expressies en match-objecten

sys

sys.breakpointhook() toegevoegd. sys.get(/set)_coroutine_origin_tracking_depth() toegevoegd

time

Voornamelijk updates ter ondersteuning van nanoseconderesolutie in PEP564, zie hierboven

Opmerkingen