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