Python 3.10¶
Python 3.10.0 (lopullinen) julkaistiin 4. lokakuuta 2021. Versioon 3.10 sisältyvät ominaisuudet on määritelty dokumentissa PEP 619, ja yksityiskohtainen kuvaus muutoksista löytyy dokumentista What’s New in Python 3.10.
Uudet syntaksiominaisuudet |
Tila |
|
Structural Pattern Matching: Specification |
||
Structural Pattern Matching: Motivation and Rationale |
||
Structural Pattern Matching: Tutorial |
||
Suluissa olevat kontekstinhallintaobjektit ovat nyt virallisesti sallittuja |
||
Uudet ominaisuudet vakiokirjastossa |
||
Valinnaisen pituuden tarkistuksen lisääminen funktioon zip |
||
Tulkin parannukset |
||
Tarkat rivinumerot virheenkorjausta ja muita työkaluja varten |
||
Uudet tyypitysominaisuudet |
||
Uniontyyppien kirjoittaminen muodossa X | Y |
||
Eksplisiittiset tyyppialiakset |
||
Parametrimäärittelymuuttujat |
||
Tärkeät vanhentumiset, poistot tai rajoitukset |
||
Vaaditaan OpenSSL 1.1.1 tai uudempi |
||
Vanhennetaan distutils-moduuli. |
Ei oleellinen |
|
Vanhennetaan wstr-jäsen objektissa PyUnicodeObject ja valmistaudutaan sen poistoon. |
Ei oleellinen |
|
Poistetaan Py_UNICODE-koodaimen API:t |
Ei oleellinen |
|
Lisätään valinnainen EncodingWarning |
||
Muut kielimuutokset:
Tyypillä |
|
Metodien |
|
PEP 618: Funktiolla |
|
Sisäänrakennetut ja laajennusfunktiot, jotka ottavat kokonaislukuargumentteja, eivät enää hyväksy |
|
Jos |
|
Sijoituslausekkeita voi nyt käyttää ilman sulkuja joukkoliteraaleissa ja joukkojen muodostuslausekkeissa sekä sekvenssi-indekseissä (mutta ei viipaleissa). |
|
Funktioilla on uusi |
|
Lisätty on kaksi uutta sisäänrakennettua funktiota – |
|
Staattiset metodit ( |
|
Monimutkaisten kohteiden annotaatiot (kaikki muut paitsi PEP 526:ssä määritellyt |
|
Luokka- ja moduuliobjektit luovat nyt tyhjät annotaatiosanakirjat laiskasti tarvittaessa. Annotaatiosanakirjat tallennetaan objektin |
|
Annotaatiot, jotka koostuvat lausekkeista |
|
Sitomattomien muuttujien, |
|
Sekä tyypin |
|
Vakion |
|
Poikkeuksilla |
Muutokset sisäänrakennettuihin moduuleihin:
Lisätään puuttuva metodi |
|
Luokan |
|
Lisätään auditointikoukut funktioille |
|
hashlib-moduuli vaatii OpenSSL 1.1.1:n tai uudemman. |
|
hashlib-moduulissa on alustava tuki OpenSSL 3.0.0:lle. |
|
Funktion |
|
Lisätään |
|
Lisätään uusi funktio |
|
Lisätään |
|
Lisätään |
|
Lisätään |
|
Poikkeus |
|
Lisätään mahdollisuus luoda MPTCP-soketteja arvolla |
|
Lisätään |
|
ssl-moduuli vaatii OpenSSL 1.1.1:n tai uudemman. |
|
ssl-moduulissa on alustava tuki OpenSSL 3.0.0:lle ja uusi asetus |
|
Vanhennettujen funktioiden ja vanhennettujen vakioiden käyttö aiheuttaa nyt poikkeuksen |
|
ssl-moduulissa on nyt turvallisemmat oletusasetukset. Salaukset ilman edelleen salassapitoa (forward secrecy) tai SHA-1 MAC:lla on oletuksena poistettu käytöstä. Turvallisuustaso 2 kieltää heikot RSA-, DH- ja ECC-avaimet, joiden turvallisuus on alle 112 bittiä. Luokka |
|
Vanhentuneita protokollia SSL 3.0, TLS 1.0 ja TLS 1.1 ei enää virallisesti tueta. Python ei estä niitä aktiivisesti. OpenSSL:n käännösvalinnat, jakelujen kokoonpanot, valmistajien korjaukset ja salausvalikoimat voivat kuitenkin estää onnistuneen kättelyn. |
|
Lisätään timeout-parametri funktioon |
|
ssl-moduuli käyttää heap-tyyppejä ja monivaiheista alustusta. |
|
Lisätty on uusi varmennuslippu |
|
Lisätään |
|
Lisätään |
|
|
|
Huomautukset