ĂshtĂ« publikuar njĂ« version i ri stabil i gjuhĂ«s sĂ« njohur tĂ« programimit Python.
Python është një gjuhë programimi e nivelit të lartë për përdorim të përgjithshëm, e orientuar drejt rritjes së produktivitetit të zhvilluesit dhe lexueshmërisë së kodit. Veçoritë kryesore janë tipizimi dinamik, menaxhimi automatik i memories, introspeksioni i plotë, mekanizmi i trajtimit të përjashtimeve, mbështetja për llogaritje shumëfijore dhe strukturat e të dhënave të nivelit të lartë.
Python është një gjuhë stabile dhe gjerësisht e përdorur. Ajo përdoret në shumë projekte dhe për qëllime të ndryshme: si gjuhë kryesore programimi ose për krijimin e zgjerimeve dhe integrimin e aplikacioneve. Fushat kryesore të përdorimit janë: zhvillimi web, machine learning dhe analiza e të dhënave, automatizimi dhe administrimi i sistemeve. Aktualisht, Python renditet i treti në klasifikimin TIOBE.
Ndryshimet kryesore:
Sintaksë-analizues i ri me performancë të lartë, i bazuar në gramatika PEG.
Në versionin e ri, parser-i aktual i Python i bazuar në gramatika LL(1) (gramatikë CFG) është zëvendësuar me një sintaksë-analizues të ri, stabil dhe me performancë të lartë, të bazuar në PEG (gramatikë PEG). Analizuesit për gjuhët e përshkruara me gramatika CFG, si analizuesit LR, kërkojnë një hap të veçantë të analizës leksikore, i cili i ndan të dhënat hyrëse sipas hapësirave, shenjave të pikësimit e kështu me radhë. Kjo është e nevojshme sepse këta analizues përdorin analizë paraprake për të përpunuar disa gramatika CFG në kohë lineare. Gramatikat PEG nuk kërkojnë një hap të veçantë të analizës leksikore dhe rregullat për të mund të përcaktohen së bashku me rregullat e tjera të gramatikës.
Operatorë dhe funksione të reja
Në klasën e integruar dict janë shtuar dy operatorë të rinj: | për bashkimin e fjalorëve dhe |= për përditësim.
Në klasën str janë shtuar dy funksione të reja: str.removeprefix(prefiks) dhe str.removesuffix(sufiks).
Type hint për tipet e integruara të koleksioneve
Në këtë version është përfshirë mbështetja për sintaksën e gjeneratorëve në të gjitha koleksionet standarde që janë aktualisht të disponueshme.
def read_blog_tags(tags: list[str]) -> None:
for tag in tags:
print("Tag Name", tag)
Ndryshime të tjera
PEP 573 Qasje në gjendjen e modulit përmes metodave të zgjerimit C
PEP 593 Anotime fleksibile për funksione dhe variabla
PEP 602 Python kalon në publikime stabile vjetore
PEP 614 Zbutje e kufizimeve gramatikore për dekoratorët
PEP 615 Mbështetje për bazën e të dhënave IANA të zonave kohore në bibliotekën standarde
BPO 38379 grumbullimi i mbeturinave nuk bllokohet në objektet e rikthyera
BPO 38692 os.pidfd_open, për menaxhimin e proceseve pa race conditions dhe sinjale;
BPO 39926 mbështetja për Unicode është përditësuar në versionin 13.0.0
BPO 1635741, gjatë inicializimit të përsëritur të Python në të njëjtin proces, rrjedhja e memories nuk ndodh më
Koleksionet e Python (range, tuple, set, frozenset, list, dict) janë përshpejtuar me thirrjen vektoriale PEP 590
Disa module të Python (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) tani përdorin inicializim shumëfazor, siç përcaktohet në PEP 489
Një sërë modulesh të bibliotekës standarde (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) tani përdorin ABI të qëndrueshëm, të përcaktuar nga PEP 384.
Burimi: linux.org.ru
