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