Python 3.7

Funcționalități noi:

Funcționalitate

Stare

PEP 538

Constrângerea localizării C tradiționale către o localizare bazată pe UTF-8

PEP 539

Un nou C-API pentru stocarea locală pe fir de execuție în CPython

PEP 540

Modul UTF-8

PEP 552

pyc determinist

PEP 553

breakpoint() încorporat

PEP 557

Clase de date

PEP 560

Suport de bază pentru modulul typing și tipurile generice

PEP 562

Modul __getattr__ și __dir__

Parțial

PEP 563

Evaluarea amânată a adnotărilor

PEP 564

Funcții de timp cu rezoluție de nanosecunde

Parțial [1]

PEP 565

Afișarea DeprecationWarning în __main__

PEP 567

Variabile de context

Alte modificări ale limbajului:

async și await sunt acum cuvinte-cheie rezervate

Complet

Obiectele dict trebuie să păstreze ordinea de inserare

Acum pot fi transmise mai mult de 255 de argumente unei funcții; o funcție poate avea acum mai mult de 255 de parametri

bytes.fromhex() și bytearray.fromhex() ignoră acum toate spațiile albe ASCII, nu doar spațiile

str, bytes și bytearray au câștigat suport pentru noua metodă isascii(), care poate fi folosită pentru a testa dacă un șir sau un obiect bytes conține doar caractere ASCII

ImportError afișează acum numele modulului și calea __file__ a modulului atunci când from ... import ... eșuează

Importurile circulare care implică importuri absolute cu legarea unui submodul la un nume sunt acum acceptate

object.__format__(x, '') este acum echivalent cu str(x) în loc de format(str(self), '')

Pentru a sprijini mai bine crearea dinamică a urmelor de stivă, types.TracebackType poate fi acum instanțiat din cod Python, iar atributul tb_next al urmelor de stivă este acum modificabil

Când se folosește comutatorul -m, sys.path[0] este acum expandat imediat la calea completă a directorului de pornire, în loc de a fi lăsat ca director gol (ceea ce permite importuri din directorul de lucru curent la momentul în care are loc un import)

Noua opțiune -X importtime sau variabila de mediu PYTHONPROFILEIMPORTTIME pot fi folosite pentru a afișa durata fiecărui import de modul

Modificări ale modulelor încorporate:

asyncio

Prea multe pentru a fi enumerate

gc

Funcționalitățile noi includ gc.freeze(), gc.unfreeze(), gc-get_freeze_count

math

math.remainder() a fost adăugată pentru a implementa restul în stil IEEE 754

re

O serie de funcționalități de curățare, inclusiv suport mai bun pentru divizarea pe șiruri goale și suport pentru copiere pentru expresiile compilate și obiectele match

sys

A fost adăugat sys.breakpointhook(). A fost adăugat sys.get(/set)_coroutine_origin_tracking_depth()

time

În principal actualizări pentru a sprijini rezoluția de nanosecunde din PEP564, vezi mai sus

Note