Python është një gjuhë programimi e nivelit të lartë.
Pas një viti zhvillimi, U njoftua lëshimi i versionit të qëndrueshëm dhe gjithashtu fillimi i fazës së testimit alfa të gjuhës programuese Python 3.12 dhe Python 3.13 (përkatësisht). Përmendet se kjo degë e re e Python 3.12 do të mbështetet për një vit e gjysmë, pas së cilës, edhe për tre vjet e gjysmë të tjera, do të gjenerohen rregullime për të eliminuar dobësitë.
Versioni i ri i Python 3.12 që është paraqitur vjen me përmirësime në fleksibiliteti i analizës së vargut f. Me këtë përmirësim tani shumë kufizime mund të lihen mënjanë, pasi për shembull tani mund të përmbash çdo shprehje të vlefshme në Python, duke përfshirë shprehjet me shumë rreshta, komentet, kthesat e pasme dhe sekuencat e arratisjes nga Unicode. Për më tepër, vargjet e brendshme tani lejojnë ripërdorimin e të njëjtave thonjëza, domethënë thonjëzat e dyfishta tani mund të ripërdoren brenda pa pasur nevojë të kaloni në thonjëza të vetme.
Për shembull:
f"""{f'''{f'{f"{1+1}"}'}'''}"""
Tani është e mundur të futet në mënyrë arbitrare:
f"{f"{f"{f"{f"{f"{1+1}"}"}"}"}"}"
Një tjetër nga ndryshimet që bie në sy është mbështetje për nëninterpretues të izoluar dhe bravë të veçantë globalë, të cilat synojnë të rrisin efikasitetin e përdorimit të burimeve në sistemet me shumë bërthama, pasi për interpretues të ndryshëm brenda një procesi CPython lejon që disa interpretues të ekzekutohen në të njëjtën kohë në një proces. Siç qëndron, funksioni është aktualisht i disponueshëm vetëm përmes C-API (mbështetja e Python API do të shfaqet në degën tjetër kryesore).
Krahas kësaj theksohet edhe sePërmbajtja informative e mesazheve të gabimit është rritur dhe gama e përjashtimeve është zgjeruar, duke ofruar rekomandime për të eleminuar gabimet tipografike. Për shembull, sugjerimet për importimin e moduleve standarde të bibliotekës së harruar dhe sugjerimet për parashtesimin e "vetes" tani shfaqen.
U shtua aftësia për të përdorur protokollin buffer në kodin Python. Klasat që ofrojnë një metodë "__buffer__()" tani mund të përdoren si lloje që veprojnë drejtpërdrejt në të dhënat binare në memorie.
Moduli sys.monitoring propozohet për korrigjimin dhe profilizimin, duke ju lejuar të monitoroni ngjarjet në CPython siç janë thirrjet, kthimet e funksioneve, ekzekutimi i linjave arbitrare të kodit, përjashtimet dhe tranzicionet me shpenzime minimale.
Përkthyesi zbaton mbështetje për nënsistemin e performancës së kernel Linux, i cili lejon që emrat e funksioneve të Python të përcaktohen gjatë profilizimit duke përdorur mjetin e performancës (më parë, vetëm emrat e funksioneve C përcaktoheshin në gjurmë).
Lidhur me përmirësimet e performancës, përmendet se optimizimet vazhduan, me të cilat Është marrë një fitim total i performancës i vlerësuar në 5%., u shtua gjithashtu mbështetje eksperimentale për optimizuesin binar BOLT në procesin e ndërtimit, duke rritur performancën me 1-5%, ndërsa performanca e paketës asyncio është përmirësuar ndjeshëm (disa teste tregojnë një shpejtësi prej 75%).
Është zbatuar zgjerimi inline i kuptimeve të listës, i cili përshpejton punën me kuptimet e listave deri në dy herë (për kodin që përdor në mënyrë aktive kuptimet e listave, testimi tregoi një rritje të përgjithshme të performancës prej 11%).
Për të përmirësuar sigurinë, implementime të integruara të Algoritmet SHA1, SHA3, SHA2-384, SHA2-512 dhe MD5 në hashlib janë zëvendësuar me opsione të verifikuara zyrtarisht nga projekti HACL* (zbatimet e integruara përdoren vetëm nëse OpenSSL nuk është i disponueshëm).
Të ndryshime të tjera që bien në sy:
- Moduli ka zgjeruar mbështetjen për Windows.
- Python zbaton mbrojtjen e tejmbushjes së pirgut.
Krijimi i klasës asyncio.Task është përshpejtuar. - Madhësia e objekteve Unicode është zvogëluar me 8 deri në 16 bajt.
- Operacionet me shprehje të rregullta re.sub(), re.subn() dhe re.Pattern janë përshpejtuar.
- Kryerja e kontrolleve të ininstance() për disa protokolle është përshpejtuar nga 2 deri në 20 herë.
- Në mënyrë domethënëse (në disa teste deri në 64%) funksionet tokenize.tokenize() dhe tokenize.generate_tokens() janë përshpejtuar.
- Ngarkimi i atributeve dhe thirrja e metodës super() janë përshpejtuar.
- Një sintaksë e re, më kompakte e shënimeve është propozuar për klasat dhe funksionet gjenerike.
- Moduli i shfletuesit të internetit nuk mbështet më shfletues të vjetër duke përfshirë Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird dhe Firefox deri në versionin 36.
- Në përgatitje për optimizimet e ardhshme, paraqitja e brendshme e numrave të plotë është ndryshuar.
E fundit por jo më pak e rëndësishme, siç u përmend, ka filluar testimi alfa i Python 3.13, në të cilin u shfaq një modalitet përpilimi CPython pa një bllokim global përkthyesi (GIL, Mbyllja globale e interpretit).
Dega Python 3.13 do të jetë në alfa për shtatë muaj, gjatë së cilës do të shtohen veçori të reja dhe do të rregullohen gabimet sipas orarit të ri të zhvillimit, puna për një degë të re fillon pesë muaj para daljes së degës së mëparshme dhe deri në momentin kur versioni tjetër arrin në fazën e testimit alfa.
Pas kësaj, versionet beta do të testohen për tre muaj, gjatë të cilëve do të ndalohet shtimi i veçorive të reja dhe e gjithë vëmendja do t'i kushtohet rregullimit të gabimeve. Gjatë dy muajve të fundit para lirimit, dega do të jetë në fazën e kandidatit për lirim, ku do të bëhet stabilizimi përfundimtar.
Më në fund po jeni të interesuar të dini më shumë për të, ju mund të kontrolloni detajet në lidhja vijuese.