Python 3.7

Nove značajke:

Značajka

Status

PEP 538

Prisilna pretvorba zastarjelog C locale-a u locale temeljen na UTF-8

PEP 539

Novi C-API za pohranu lokalnu za dretvu (Thread-Local Storage) u CPythonu

PEP 540

UTF-8 način rada

PEP 552

Deterministički pyc

PEP 553

Ugrađena breakpoint()

PEP 557

Klase podataka (Data Classes)

PEP 560

Temeljna podrška za modul typing i generičke tipove

PEP 562

Modulske __getattr__ i __dir__

Djelomično

PEP 563

Odgođena evaluacija anotacija

PEP 564

Vremenske funkcije s razlučivošću u nanosekundama

Djelomično [1]

PEP 565

Prikaz DeprecationWarning u __main__

PEP 567

Kontekstne varijable

Ostale jezične promjene:

async i await sada su rezervirane ključne riječi

Dovršeno

Objekti dict moraju očuvati redoslijed umetanja

Sada se funkciji može proslijediti više od 255 argumenata; funkcija sada može imati više od 255 parametara

bytes.fromhex() i bytearray.fromhex() sada zanemaruju sve ASCII bjeline, ne samo razmake

str, bytes i bytearray dobili su podršku za novu metodu isascii(), koja se može koristiti za provjeru sadrži li niz ili bajtovi samo ASCII znakove

ImportError sada prikazuje naziv modula i putanju __file__ modula kada from ... import ... ne uspije

Sada su podržani kružni uvozi koji uključuju apsolutne uvoze s vezivanjem podmodula uz neko ime

object.__format__(x, '') sada je ekvivalentno str(x) umjesto format(str(self), '')

Radi bolje podrške dinamičkom stvaranju praćenja steka (stack trace), types.TracebackType sada se može instancirati iz Python koda, a atribut tb_next na praćenjima sada je upisiv

Pri korištenju prekidača -m, sys.path[0] sada se odmah proširuje do pune putanje početnog direktorija, umjesto da ostane kao prazan direktorij (što omogućuje uvoze iz trenutnog radnog direktorija u trenutku kada se uvoz dogodi)

Nova opcija -X importtime ili varijabla okruženja PYTHONPROFILEIMPORTTIME mogu se koristiti za prikaz trajanja uvoza svakog modula

Promjene ugrađenih modula:

asyncio

Previše za nabrojati

gc

Nove značajke uključuju gc.freeze(), gc.unfreeze(), gc-get_freeze_count

math

Dodana je math.remainder() za implementaciju ostatka u stilu IEEE 754

re

Niz značajki za uređivanje, uključujući bolju podršku za razdvajanje na praznim nizovima te podršku za kopiranje kompiliranih izraza i objekata podudaranja

sys

Dodana je sys.breakpointhook(). Dodane su sys.get(/set)_coroutine_origin_tracking_depth()

time

Uglavnom ažuriranja za podršku razlučivosti u nanosekundama u PEP564, vidi gore

Napomene