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. | |
Deque-luokka määrittelee nyt index(), insert() ja copy() ja tukee +-ja *-operaattoreita. | |
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