Python 3.5¶
Az alábbiakban a Python 3.5 véglegesített/elfogadott PEP-jeinek listája található, a MicroPythonra gyakorolt hatásuk szerint csoportosítva.
A szintaxis bővítései | Állapot | |
További kicsomagolási általánosítások | Részleges | |
Egy új mátrixszorzó operátor | Teljes | |
Korutinok | Teljes | |
A futásidő bővítései és változásai | ||
% formázás bináris karakterláncokhoz | Teljes | |
Az | Teljes | |
A | Teljes | |
A standard könyvtár változásai | ||
| ||
| Teljes | |
Egyéb változások | ||
Továbbfejlesztett Python zip-alkalmazás támogatás | ||
A Python Launcher felkészítése a virtuális környezetekre | Nem releváns | |
Típusjelölések (csak tanácsadó jellegű) | Teljes [1] | |
A PYO fájlok megszüntetése | Nem releváns | |
A bővítménymodulok betöltésének újratervezése | ||
Egyéb nyelvi változások:
Hozzáadásra került a namereplace hibakezelő. A backslashreplace hibakezelő mostantól dekódolással és fordítással is működik. | |
A tulajdonságok (property) dokumentációs karakterláncai mostantól írhatók. Ez különösen hasznos a collections.namedtuple() dokumentációs karakterláncai esetén | |
A relatív importokat tartalmazó körkörös importok mostantól támogatottak. |
Új modulok:
A beépített modulok változásai:
Az OrderedDict osztály mostantól C nyelven van megvalósítva, ami 4-100-szor gyorsabbá teszi. | |
Az OrderedDict.items() , OrderedDict.keys() , OrderedDict.values() nézetek mostantól támogatják a reversed() iterációt. | |
A deque osztály most definiálja az index(), insert() és copy() metódusokat, és támogatja a + és * operátorokat. | |
A namedtuple() által előállított dokumentációs karakterláncok mostantól frissíthetők. | |
A UserString osztály mostantól megvalósítja a __getnewargs__(), __rmod__(), casefold(), format_map(), isprintable() és maketrans() metódusokat, hogy megfeleljen a str megfelelő metódusainak. | |
A merge() elemösszehasonlítása mostantól testreszabható egy kulcsfüggvény átadásával egy új opcionális key kulcsszó-argumentumban, és egy új opcionális reverse kulcsszó-argumentum használható az elemösszehasonlítás megfordítására | |
Egy új BufferedIOBase.readinto1() metódus, amely legfeljebb egy hívást használ a mögöttes nyers adatfolyam RawIOBase.read() vagy RawIOBase.readinto() metódusaira | |
A JSON dekódoló mostantól JSONDecodeError kivételt vált ki a ValueError helyett, hogy jobb kontextusinformációt nyújtson a hibáról. | |
Két új konstans került hozzáadásra a math modulhoz: inf és nan. | Teljes |
Egy új isclose() függvény biztosít módot a közelítő egyenlőség tesztelésére. | |
Egy új gcd() függvény került hozzáadásra. A fractions.gcd() függvény mostantól elavult. | |
Hozzáadásra került az új scandir() függvény, amely DirEntry objektumok iterátorát adja vissza. | |
Az urandom() függvény mostantól a getrandom() rendszerhívást használja Linux 3.17-en vagy újabbon, és a getentropy() rendszerhívást OpenBSD 5.6-on és újabbon, megszüntetve a /dev/urandom használatának szükségességét, és elkerülve a potenciális fájlleíró-kimerülésből adódó hibákat. | |
Az új get_blocking() és set_blocking() függvények lehetővé teszik egy fájlleíró blokkolási módjának lekérdezését és beállítását (O_NONBLOCK.) | |
Van egy új os.path.commonpath() függvény, amely az egyes átadott útvonalnevek leghosszabb közös alútvonalát adja vissza | |
A rögzített hosszúságú csoportokra való hivatkozások és feltételes hivatkozások mostantól engedélyezettek a lookbehind feltételekben | |
A reguláris kifejezésekben a rögzítő csoportok száma többé nem korlátozódik 100-ra. | |
A sub() és subn() függvények mostantól üres karakterláncokkal helyettesítik a nem illeszkedő csoportokat ahelyett, hogy kivételt váltanának ki. | |
A re.error kivételeknek új attribútumaik vannak: msg, pattern, pos, lineno és colno, amelyek jobb kontextusinformációt nyújtanak a hibáról | |
Az időtúllépéssel rendelkező függvények mostantól monoton órát használnak rendszeróra helyett. | |
Egy új socket.sendfile() metódus lehetővé teszi egy fájl socketen keresztüli küldését a nagy teljesítményű os.sendfile() függvény használatával UNIX-on, ami 2-3-szor gyorsabb feltöltéseket eredményez, mint a sima socket.send() használata | |
A socket.sendall() metódus többé nem állítja vissza a socket időtúllépését minden alkalommal, amikor bájtokat fogadnak vagy küldenek. A socket időtúllépése mostantól az összes adat elküldésének maximális teljes időtartama. | |
A socket.listen() metódus backlog argumentuma mostantól opcionális. Alapértelmezetten a SOMAXCONN vagy 128 értékre van állítva, amelyik kisebb. | Teljes |
Memory BIO támogatás | |
Application-Layer Protocol Negotiation támogatás | |
Van egy új SSLSocket.version() metódus a ténylegesen használt protokollverzió lekérdezésére. | |
Az SSLSocket osztály mostantól megvalósítja a SSLSocket.sendfile() metódust. | |
A SSLSocket.send() metódus mostantól az ssl.SSLWantReadError vagy ssl.SSLWantWriteError kivételt váltja ki egy nem blokkoló socketen, ha a művelet blokkolna. Korábban 0-t adott vissza. | |
A cert_time_to_seconds() függvény mostantól UTC-ként, nem pedig helyi időként értelmezi a bemeneti időt, az RFC 5280 szerint. Ráadásul a visszatérési érték mindig egy int. | |
Az új SSLObject.shared_ciphers() és SSLSocket.shared_ciphers() metódusok a kliens által a kézfogás során küldött titkosítások listáját adják vissza. | |
Az SSLSocket osztály SSLSocket.do_handshake(), SSLSocket.read(), SSLSocket.shutdown() és SSLSocket.write() metódusai többé nem állítják vissza a socket időtúllépését minden alkalommal, amikor bájtokat fogadnak vagy küldenek. | |
A match_hostname() függvény mostantól támogatja az IP-címek illesztését. | |
Egy új set_coroutine_wrapper() függvény lehetővé teszi egy globális hook beállítását, amelyet minden alkalommal meghívnak, amikor egy korutinobjektumot hoz létre egy async def függvény. Egy megfelelő get_coroutine_wrapper() függvény használható az éppen beállított csomagoló lekérésére. | |
Egy új is_finalizing() függvény használható annak ellenőrzésére, hogy a Python értelmező leállás alatt van-e. | |
A monotonic() függvény mostantól mindig elérhető | |
Megjegyzések