Izašlo je novo stabilno izdanje popularnog programskog jezika Python.
Python je programski jezik opće namjene visoke razine usmjeren na poboljšanje produktivnosti programera i čitljivosti koda. Glavne značajke su dinamičko tipkanje, automatsko upravljanje memorijom, puna introspekcija, mehanizam za rukovanje iznimkama, podrška za višenitno računalstvo, strukture podataka visoke razine.
Python je stabilan i široko rasprostranjen jezik. Koristi se u mnogim projektima iu različitim svojstvima: kao primarni programski jezik ili za izradu proširenja i integracije aplikacija. Glavna područja primjene: web razvoj, strojno učenje i analiza podataka, automatizacija i administracija sustava. Python je trenutno treći na ljestvici TIOBE.
Velike promjene:
Novi parser visokih performansi temeljen na PEG gramatikama.
U novoj verziji trenutni Python parser temeljen na LL(1) gramatikama (KS-gramatika) zamijenjen je novim visokoučinkovitim i stabilnim parserom temeljenim na PEG (PB-gramatici). Parseri za jezike predstavljene KS gramatikama, kao što su LR parseri, zahtijevaju poseban korak leksičke analize koji razbija unos prema razmaku, interpunkciji i tako dalje. Ovo je neophodno jer ovi parseri koriste pripremu za obradu nekih KS gramatika u linearnom vremenu. RV gramatike ne zahtijevaju poseban korak leksičke analize, a pravila za njega mogu se postaviti zajedno s drugim gramatičkim pravilima.
Novi operatori i funkcije
Dva nova operatora dodana su ugrađenoj dict klasi, | za spajanje rječnika i |= za ažuriranje.
Dvije nove funkcije dodane su klasi str: str.removeprefix(prefix) i str.removesuffix(suffix).
Nagovještaj tipa za ugrađene vrste zbirke
Ovo izdanje uključuje podršku za sintaksu generatora u svim standardnim zbirkama koje su trenutno dostupne.
def read_blog_tags(tags: list[str]) -> Ništa:
za oznake u oznakama:
print("Naziv oznake", oznaka)
Ostale promjene
-
PEP 573 Pristup stanju modula korištenjem C metoda proširenja
-
PEP 593 Fleksibilne funkcije i komentari varijabli
-
PEP 602 Python prelazi na godišnja stabilna izdanja
-
PEP 614 Ublažavanje gramatičkih ograničenja za dekoratere
-
PEP 615 Podrška baze podataka vremenskih zona IANA u standardnoj biblioteci
-
BPO 38379 Skupljanje smeća ne blokira oporavljene objekte
-
BPO 38692 os.pidfd_open, za kontrolu procesa bez utrka i signala;
-
BPO 39926 Unicode podrška ažurirana na verziju 13.0.0
-
BPO 1635741, Python više ne curi kada se Python inicijalizira više puta u istom procesu
-
Python zbirke (raspon, tuple, set, frozenset, popis, dict) ubrzane s PEP 590 vektorskim pozivom
-
Neki Python moduli (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) sada koriste polifaznu inicijalizaciju kako je definirano u PEP 489
-
Brojni standardni moduli knjižnice (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) sada koriste stabilni ABI definiran u PEP 384.
Izvor: linux.org.ru