Python 3.10¶
Python 3.10.0 (final) izdan je 4. listopada 2021. Značajke za 3.10 definirane su u PEP 619, a detaljan opis promjena nalazi se u What’s New in Python 3.10.
Nove sintaktičke značajke |
Status |
|
Strukturno podudaranje uzoraka: specifikacija |
||
Strukturno podudaranje uzoraka: motivacija i obrazloženje |
||
Strukturno podudaranje uzoraka: vodič |
||
Upravitelji konteksta u zagradama sada su službeno dopušteni |
||
Nove značajke u standardnoj biblioteci |
||
Dodavanje neobavezne provjere duljine u zip |
||
Poboljšanja interpretera |
||
Precizni brojevi redaka za otklanjanje pogrešaka i druge alate |
||
Nove značajke za tipove (typing) |
||
Omogućavanje pisanja unijskih tipova kao X | Y |
||
Eksplicitni aliasi tipova |
||
Varijable za specifikaciju parametara |
||
Važna zastarijevanja, uklanjanja ili ograničenja |
||
Zahtijeva OpenSSL 1.1.1 ili noviji |
||
Zastarijevanje modula distutils. |
Nije relevantno |
|
Zastarijevanje i priprema za uklanjanje člana wstr u PyUnicodeObject. |
Nije relevantno |
|
Uklanjanje API-ja za kodiranje Py_UNICODE |
Nije relevantno |
|
Dodavanje neobaveznog EncodingWarning |
||
Ostale promjene jezika:
Tip |
|
Pogledi koje vraćaju |
|
PEP 618: Funkcija |
|
Ugrađene funkcije i funkcije proširenja koje primaju cjelobrojne argumente više ne prihvaćaju |
|
Ako |
|
Izrazi pridruživanja sada se mogu koristiti bez zagrada unutar literala skupova i izvedbi skupova (set comprehensions), kao i u indeksima sekvenci (ali ne i u rezovima). |
|
Funkcije imaju novi atribut |
|
Dodane su dvije nove ugrađene funkcije – |
|
Statičke metode ( |
|
Anotacije za složene ciljeve (sve osim ciljeva |
|
Objekti klasa i modula sada lijeno (lazy) stvaraju prazne rječnike anotacija po potrebi. Rječnici anotacija pohranjuju se u objektov |
|
Anotacije koje se sastoje od |
|
Korištenje nepovezanih varijabli, |
|
Hash vrijednosti NaN za tipove |
|
Pri brisanju konstante |
|
Iznimke |
Promjene u ugrađenim modulima:
Dodana je nedostajuća metoda |
|
Metoda |
|
Dodane su revizijske kuke (audit hooks) za |
|
Modul hashlib zahtijeva OpenSSL 1.1.1 ili noviji. |
|
Modul hashlib ima preliminarnu podršku za OpenSSL 3.0.0. |
|
Čista Python implementacija (pure-Python fallback) funkcije |
|
Dodana je podrška za |
|
Dodana je nova funkcija |
|
Dodana je |
|
Dodani su |
|
Dodana je |
|
Iznimka |
|
Dodana je opcija za stvaranje MPTCP utičnica s |
|
Dodana je opcija |
|
Modul ssl zahtijeva OpenSSL 1.1.1 ili noviji. |
|
Modul ssl ima preliminarnu podršku za OpenSSL 3.0.0 i novu opciju |
|
Zastarjele funkcije i korištenje zastarjelih konstanti sada rezultiraju iznimkom |
|
Modul ssl sada ima sigurnije zadane postavke. Šifre bez prosljedne tajnosti (forward secrecy) ili SHA-1 MAC prema zadanim su postavkama onemogućene. Sigurnosna razina 2 zabranjuje slabe RSA, DH i ECC ključeve s manje od 112 bitova sigurnosti. |
|
Zastarjeli protokoli SSL 3.0, TLS 1.0 i TLS 1.1 više nisu službeno podržani. Python ih ne blokira aktivno. Međutim, opcije izgradnje OpenSSL-a, konfiguracije distribucija, zakrpe dobavljača i skupovi šifri mogu spriječiti uspješno rukovanje (handshake). |
|
Dodan je parametar timeout funkciji |
|
Modul ssl koristi tipove na hrpi (heap-types) i višefaznu inicijalizaciju. |
|
Dodana je nova zastavica provjere |
|
Dodan je atribut |
|
Dodan je |
|
|
|
Napomene