Python 3.10¶
Python 3.10.0 (final) a fost lansat pe 4 octombrie 2021. Caracteristicile pentru 3.10 sunt definite în PEP 619, iar o descriere detaliată a modificărilor poate fi găsită în Ce este nou în Python 3.10.
Caracteristici noi de sintaxă |
Stare |
|
Potrivire structurală de tipare: specificație |
||
Potrivire structurală de tipare: motivație și justificare |
||
Potrivire structurală de tipare: tutorial |
||
Gestionarele de context cu paranteze sunt acum permise oficial |
||
Caracteristici noi în biblioteca standard |
||
Adăugarea verificării opționale a lungimii la zip |
||
Îmbunătățiri ale interpretorului |
||
Numere de linie precise pentru depanare și alte instrumente |
||
Caracteristici noi de tipizare |
||
Permiterea scrierii tipurilor uniune sub forma X | Y |
||
Alias-uri de tip explicite |
||
Variabile de specificare a parametrilor |
||
Deprecieri, eliminări sau restricții importante |
||
Necesită OpenSSL 1.1.1 sau mai nou |
||
Deprecierea modulului distutils. |
Nu este relevant |
|
Deprecierea și pregătirea pentru eliminarea membrului wstr din PyUnicodeObject. |
Nu este relevant |
|
Eliminarea API-urilor de codificare Py_UNICODE |
Nu este relevant |
|
Adăugarea unui EncodingWarning opțional |
||
Alte modificări ale limbajului:
Tipul |
|
Vizualizările returnate de |
|
PEP 618: Funcția |
|
Funcțiile încorporate și cele de extensie care primesc argumente întregi nu mai acceptă obiecte |
|
Dacă |
|
Expresiile de atribuire pot fi acum folosite fără paranteze în literalele de mulțimi și în comprehensiunile de mulțimi, precum și în indecșii de secvențe (dar nu și în felii). |
|
Funcțiile au un nou atribut |
|
Au fost adăugate două noi funcții încorporate – |
|
Metodele statice ( |
|
Adnotările pentru ținte complexe (orice în afară de țintele |
|
Obiectele de clasă și de modul creează acum în mod leneș dicționare de adnotări goale la cerere. Dicționarele de adnotări sunt stocate în |
|
Adnotările care conțin |
|
Utilizarea variabilelor nelegate, a |
|
Codurile hash ale valorilor NaN, atât de tip |
|
O excepție |
|
Excepțiile |
Modificări ale modulelor încorporate:
Adăugarea metodei lipsă |
|
Metoda |
|
Adăugarea de hook-uri de audit pentru |
|
Modulul hashlib necesită OpenSSL 1.1.1 sau mai nou. |
|
Modulul hashlib are suport preliminar pentru OpenSSL 3.0.0. |
|
Implementarea de rezervă pur-Python a |
|
Adăugarea suportului |
|
Adăugarea unei noi funcții |
|
Adăugarea funcției |
|
Adăugarea |
|
Adăugarea |
|
Excepția |
|
Adăugarea opțiunii de a crea socket-uri MPTCP cu |
|
Adăugarea opțiunii |
|
Modulul ssl necesită OpenSSL 1.1.1 sau mai nou. |
|
Modulul ssl are suport preliminar pentru OpenSSL 3.0.0 și o nouă opțiune |
|
Funcțiile depreciate și utilizarea constantelor depreciate generează acum un |
|
Modulul ssl are acum setări implicite mai sigure. Cifrurile fără secretizare directă (forward secrecy) sau cu MAC SHA-1 sunt dezactivate implicit. Nivelul de securitate 2 interzice cheile RSA, DH și ECC slabe, cu mai puțin de 112 biți de securitate. |
|
Protocoalele depreciate SSL 3.0, TLS 1.0 și TLS 1.1 nu mai sunt suportate oficial. Python nu le blochează în mod activ. Totuși, opțiunile de compilare ale OpenSSL, configurațiile distribuțiilor, patch-urile furnizorilor și suitele de cifruri pot împiedica o negociere reușită. |
|
Adăugarea unui parametru timeout la funcția |
|
Modulul ssl folosește tipuri heap și inițializare în mai multe faze. |
|
A fost adăugat un nou indicator de verificare |
|
Adăugarea atributului |
|
Adăugarea |
|
|
|
Note