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