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 mostantól definiálja az index(), insert() és copy() metódusokat, valamint 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