A Python egy magas szintű programozási nyelv.
Egy év fejlesztés után Bejelentették a stabil verzió megjelenését valamint a programozási nyelv alfatesztelési szakaszának kezdete is Python 3.12 és Python 3.13 (illetve). Megemlítik, hogy a Python 3.12-nek ezt az új ágát másfél évig támogatják, majd további három és fél évig javításokat generálnak a sebezhetőségek kiküszöbölésére.
A Python 3.12 bemutatott új verziója fejlesztéseket tartalmaz a az f-sztring elemzés rugalmassága. Ezzel a fejlesztéssel most sok korlátozást el lehet hagyni, mivel például mostantól bármilyen érvényes kifejezést tartalmazhat a Pythonban, beleértve a többsoros kifejezéseket, megjegyzéseket, fordított perjeleket és Unicode escape szekvenciákat. Ezenkívül a belső karakterláncok lehetővé teszik ugyanazon idézőjelek újrafelhasználását, azaz a dupla idézőjelek újra felhasználhatók belül anélkül, hogy egyetlen idézőjelre kellene váltania.
Például:
f"""{f'''{f'{f"{1+1}"}'}'''}"""
Mostantól lehetőség van önkényes beágyazásra:
f"{f"{f"{f"{f"{f"{1+1}"}"}"}"}"}"
A másik kiemelkedő változás a elszigetelt altolmácsok és különálló globális zárak támogatása, amelyek célja az erőforrás-felhasználás hatékonyságának növelése többmagos rendszerekben, hiszen egy folyamaton belül a különböző tolmácsok számára a CPython lehetővé teszi, hogy egy folyamatban egyszerre több interpretátor is futhasson. Jelenlegi állapotában a funkció csak C-API-n keresztül érhető el (a Python API támogatás a következő nagyobb ágban jelenik meg).
Ezen kívül kiemelik azt isBővült a hibaüzenetek tájékoztató tartalma a kivételek köre pedig bővült, ajánlásokat kínálva a nyomdai hibák kiküszöbölésére. Például most megjelennek az elfelejtett szabványos könyvtári modulok importálására vonatkozó javaslatok, valamint a „self” előtaggal kapcsolatos javaslatok.
Hozzáadtuk a pufferprotokoll használatának lehetőségét a Python kódban. A "__buffer__()" metódust biztosító osztályok mostantól olyan típusokként használhatók, amelyek közvetlenül a memóriában lévő bináris adatokon működnek.
A modul A sys.monitoring a hibakereséshez és profilalkotáshoz javasolt, lehetővé teszi a CPython eseményeinek, például hívások, függvényvisszaadások, tetszőleges kódsorok végrehajtásának, kivételek és átmenetek figyelését minimális többletköltséggel.
Az értelmező támogatja a Linux kernel teljesítmény alrendszerét, amely lehetővé teszi Python-függvénynevek meghatározását a teljesítmény-segédprogram segítségével történő profilalkotás során (korábban csak a C függvényneveket határozták meg a nyomkövetésekben).
A teljesítmény javításával kapcsolatban megemlítik, hogy az optimalizálás folytatódott, amellyel A teljes teljesítménynövekedést 5%-ra becsülik., azt is hozzátették kísérleti támogatás a BOLT bináris optimalizálóhoz az összeállítási folyamathoz, 1-5%-kal növelve a teljesítményt, miközben az asyncio csomag teljesítménye jelentősen javult (egyes tesztek 75%-os gyorsulást mutatnak).
A listaértelmezések soron belüli bővítése megtörtént, ami akár kétszeresére is felgyorsítja a listaértelmezésekkel végzett munkát (a listaértelmezéseket aktívan használó kódoknál a tesztelés összességében 11%-os teljesítménynövekedést mutatott ki).
A biztonság javítása érdekében beépített megvalósításai A hashlib SHA1, SHA3, SHA2-384, SHA2-512 és MD5 algoritmusait lecserélték a HACL* projekt formálisan ellenőrzött opcióival (a beépített implementációk csak akkor használatosak, ha az OpenSSL nem elérhető).
A egyéb változások amelyek kiemelkednek:
- A modul kiterjesztette a Windows támogatását.
- A Python veremtúlcsordulás elleni védelmet valósít meg.
Az asyncio.Task osztály létrehozása felgyorsult. - A Unicode objektumok mérete 8-16 bájttal csökkent.
- A re.sub(), re.subn() és re.Pattern reguláris kifejezésekkel végzett műveletek felgyorsultak.
- Az isinstance() ellenőrzések futtatása egyes protokolloknál 2-20-szorosára gyorsult.
- Jelentősen (egyes tesztekben akár 64%) is felgyorsult a tokenize.tokenize() és tokenize.generate_tokens() függvény.
- Az attribútumok betöltése és a super() metódus meghívása felgyorsult.
- Az általános osztályokhoz és függvényekhez új, kompaktabb típusú annotáció-szintaxist javasoltak.
- A webböngésző modul már nem támogatja a régebbi böngészőket, mint például a Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird és Firefox 36-os verzióig.
- A jövőbeli optimalizálás előkészítéseként az egész számok belső reprezentációja megváltozott.
Végül, de nem utolsósorban, mint említettük, megkezdődött a Python 3.13 alfa tesztelése, amelyben megjelent egy fordítási mód CPython globális tolmácszár nélkül (GIL, Global Interpreter Lock).
Az ág A Python 3.13 hét hónapig lesz alfa állapotban, amely során az új fejlesztési ütemterv szerint új funkciókat adnak hozzá és a hibákat kijavítják, a munka egy új ágon öt hónappal az előző ág megjelenése előtt kezdődik, és mire a következő verzió eléri az alfa tesztelési szakaszt.
Ezt követően három hónapig tesztelik a béta verziókat, ezalatt tilos új funkciók hozzáadása, és minden figyelmet a hibák kijavítására fordítanak. A megjelenés előtti utolsó két hónapban az ág a kiadásjelölt szakaszban lesz, ahol megtörténik a végső stabilizáció.
Végül igen szeretne többet megtudni róla, ellenőrizheti a részleteket a következő link.