Python 3.5¶
Alla on lista Python 3.5:n viimeistellyistä/hyväksytyistä PEP-dokumenteista ryhmiteltynä niiden MicroPythoniin kohdistuvan vaikutuksen mukaan.
Syntaksin laajennukset |
Tila |
|
Lisää purkamisen yleistyksiä |
Osittainen |
|
Uusi matriisikertolaskuoperaattori |
Valmis |
|
Korutiinit syntakseilla |
Valmis |
|
Suoritusympäristön laajennukset ja muutokset |
||
%-muotoilu binäärimerkkijonoille |
Valmis |
|
Virheellä |
Valmis |
|
Muutetaan |
Valmis |
|
Vakiokirjaston muutokset |
||
|
||
|
Valmis |
|
Sekalaiset muutokset |
||
Parannettu Python-zip-sovellustuki |
||
Tehdään Python Launcher tietoiseksi virtuaaliympäristöistä |
Ei oleellinen |
|
Tyyppivihjeet (vain neuvoa-antavia) |
Valmis [1] |
|
PYO-tiedostojen poistaminen |
Ei oleellinen |
|
Laajennusmoduulien latauksen uudelleensuunnittelu |
||
Muut kielimuutokset:
Lisätty on namereplace-virheenkäsittelijät. backslashreplace-virheenkäsittelijät toimivat nyt myös purkamisessa ja kääntämisessä. |
|
Property-objektien dokumentaatiomerkkijonot ovat nyt kirjoitettavissa. Tämä on erityisen hyödyllistä collections.namedtuple()-dokumentaatiomerkkijonoille |
|
Suhteellisia tuonteja sisältävät kehätuonnit ovat nyt tuettuja. |
Uudet moduulit:
Muutokset sisäänrakennettuihin moduuleihin:
OrderedDict-luokka on nyt toteutettu C-kielellä, mikä tekee siitä 4-100 kertaa nopeamman. |
|
Näkymät OrderedDict.items() , OrderedDict.keys() ja OrderedDict.values() tukevat nyt reversed()-iterointia. |
|
The deque class now defines index(), insert(), and copy(), and supports the + and * operators. |
|
namedtuple()-funktion tuottamia dokumentaatiomerkkijonoja voidaan nyt päivittää. |
|
UserString-luokka toteuttaa nyt metodit __getnewargs__(), __rmod__(), casefold(), format_map(), isprintable() ja maketrans() vastaamaan str-tyypin vastaavia metodeja. |
|
Alkioiden vertailua funktiossa merge() voidaan nyt mukauttaa välittämällä avainfunktio uudessa valinnaisessa key-avainsana-argumentissa, ja uudella valinnaisella reverse-avainsana-argumentilla voidaan kääntää alkioiden vertailu |
|
Uusi metodi BufferedIOBase.readinto1(), joka käyttää enintään yhtä kutsua taustalla olevan raakavirran metodeihin RawIOBase.read() tai RawIOBase.readinto() |
|
JSON-dekooderi nostaa nyt poikkeuksen JSONDecodeError poikkeuksen ValueError sijaan tarjotakseen parempaa kontekstitietoa virheestä. |
|
math-moduuliin on lisätty kaksi uutta vakiota: inf ja nan. |
Valmis |
Uusi funktio isclose() tarjoaa tavan testata likimääräistä yhtäsuuruutta. |
|
Lisätty on uusi funktio gcd(). Funktio fractions.gcd() on nyt vanhennettu. |
|
Lisätty on uusi funktio scandir(), joka palauttaa DirEntry-objektien iteraattorin. |
|
Funktio urandom() käyttää nyt getrandom()-järjestelmäkutsua Linux 3.17:ssä ja uudemmissa sekä getentropy()-kutsua OpenBSD 5.6:ssa ja uudemmissa, mikä poistaa tarpeen käyttää /dev/urandom-laitetta ja välttää mahdollisesta tiedostokuvaajien loppumisesta johtuvat virheet. |
|
Uudet funktiot get_blocking() ja set_blocking() mahdollistavat tiedostokuvaajan estotilan (O_NONBLOCK) lukemisen ja asettamisen. |
|
On olemassa uusi funktio os.path.commonpath(), joka palauttaa kunkin välitetyn polkunimen pisimmän yhteisen alipolun |
|
Viittaukset ja ehdolliset viittaukset kiinteäpituisiin ryhmiin ovat nyt sallittuja lookbehind-väittämissä |
|
Säännöllisissä lausekkeissa kaappaavien ryhmien määrää ei enää ole rajoitettu 100:aan. |
|
Funktiot sub() ja subn() korvaavat nyt täsmäämättömät ryhmät tyhjillä merkkijonoilla poikkeuksen nostamisen sijaan. |
|
Poikkeuksilla re.error on uudet attribuutit msg, pattern, pos, lineno ja colno, jotka tarjoavat parempaa kontekstitietoa virheestä |
|
Aikakatkaisuja käyttävät funktiot käyttävät nyt monotonista kelloa järjestelmäkellon sijaan. |
|
Uusi metodi socket.sendfile() mahdollistaa tiedoston lähettämisen soketin kautta käyttämällä suorituskykyistä os.sendfile()-funktiota UNIXissa, mikä tekee lähetyksistä 2-3 kertaa nopeampia kuin pelkkää socket.send()-metodia käytettäessä |
|
Metodi socket.sendall() ei enää nollaa soketin aikakatkaisua joka kerta, kun tavuja vastaanotetaan tai lähetetään. Soketin aikakatkaisu on nyt suurin kokonaiskesto kaiken datan lähettämiselle. |
|
Metodin socket.listen() backlog-argumentti on nyt valinnainen. Oletuksena se on asetettu arvoon SOMAXCONN tai 128, riippuen siitä, kumpi on pienempi. |
Valmis |
Memory BIO -tuki |
|
Application-Layer Protocol Negotiation -tuki |
|
On olemassa uusi metodi SSLSocket.version() käytössä olevan todellisen protokollaversion kyselemiseen. |
|
SSLSocket-luokka toteuttaa nyt metodin SSLSocket.sendfile(). |
|
Metodi SSLSocket.send() nostaa nyt joko poikkeuksen ssl.SSLWantReadError tai ssl.SSLWantWriteError estävässä tilassa olemattomalla soketilla, jos operaatio estyisi. Aiemmin se palautti arvon 0. |
|
Funktio cert_time_to_seconds() tulkitsee nyt syöteajan UTC-aikana eikä paikallisena aikana, RFC 5280:n mukaisesti. Lisäksi paluuarvo on aina int. |
|
Uudet metodit SSLObject.shared_ciphers() ja SSLSocket.shared_ciphers() palauttavat listan salauksista, jotka asiakas lähetti kättelyn aikana. |
|
SSLSocket-luokan metodit SSLSocket.do_handshake(), SSLSocket.read(), SSLSocket.shutdown() ja SSLSocket.write() eivät enää nollaa soketin aikakatkaisua joka kerta, kun tavuja vastaanotetaan tai lähetetään. |
|
Funktio match_hostname() tukee nyt IP-osoitteiden täsmäystä. |
|
Uusi funktio set_coroutine_wrapper() mahdollistaa globaalin koukun asettamisen, jota kutsutaan aina, kun async def -funktio luo korutiiniobjektin. Vastaavalla get_coroutine_wrapper()-funktiolla voidaan hakea tällä hetkellä asetettu kääre. |
|
Uudella funktiolla is_finalizing() voidaan tarkistaa, onko Python-tulkki sulkeutumassa. |
|
Funktio monotonic() on nyt aina käytettävissä |
|
Huomautukset