Izšel je nov stabilen izid priljubljenega programskega jezika Python.
Python je visok nivo programski jezik splošne rabe, osredotočen na povečanje produktivnosti razvijalcev in berljivosti kode. Glavne značilnosti vključujejo dinamično tipizacijo, samodejno upravljanje pomnilnika, popolno introspekcijo, mehanizem za obdelavo izjem in podporo za večnitno računanje ter visok nivo podatkovnih struktur.
Python je stabilen in razširjen jezik. Uporablja se v številnih projektih in na različne načine: kot osnovni programski jezik ali za ustvarjanje razširitev in integracijo aplikacij. Glavne področja uporabe vključujejo spletno razvoj, strojno učenje in analizo podatkov, avtomatizacijo ter sistemsko administracijo. Trenutno Python zaseda tretje mesto v razvrstitvi TIOBE.
Glavne spremembe:
Nov visokozmogljiv sintaktični analizator na osnovi slovnic PEG.
V novi različici je trenutni Pythonov parser, ki temelji na LL(1) slovnicah (Konzervativne slovnice), zamenjan z novim visokozmogljivim in stabilnim sintaktičnim analizatorjem, ki temelji na PEG (Rekurzivne slovnice). Analizatorji za jezike, predstavljene s konzervativnimi slovnicami, kot so LR-analizatorji, zahtevajo poseben korak leksikalne analize, ki razdeli vhodne podatke glede na praznine, ločila in tako naprej. To je potrebno, ker ti analizatorji uporabljajo predanalizo za obdelavo nekaterih konzervativnih slovnic v linearnem času. Rekurzivne slovnice ne zahtevajo ločenega koraka leksikalne analize, pravila zanj pa so lahko vključena skupaj z drugimi pravili slovnice.
Novi operatorji in funkcije
V vgrajeni razred dict sta dodana dva nova operatorja, | za združevanje slovarjev in |= za posodabljanje.
V razred str sta dodani dve novi funkciji: str.removeprefix(predpona) in str.removesuffix(sufiksa).
Namig tipa za vgrajene tipe kolekcij
V tej različici je vključena podpora za sintakso generatorjev v vseh standardnih kolekcijah, ki so trenutno na voljo.
def read_blog_tags(tags: list[str]) -> None:
for tag in tags:
print("Ime oznake", tag)
Druge spremembe
PEP 573 Dostop do stanja modula z metodami razširitev C
PEP 593 Fleksibilne funkcije in spremenljivke anotacije
PEP 602 Python prehaja na letne stabilne izide
PEP 614 Omiljene gramatične restrikcije za dekoratore
PEP 615 Podrška IANA baze podataka o vremenskim zonama u standardnoj biblioteci
BPO 38379 sakupljanje otpada ne blokira vraćene objekte
BPO 38692 os.pidfd_open, za upravljanje procesima bez izvanrednih stanja i signala;
BPO 39926 podrška za Unicode ažurirana je na verziju 13.0.0
BPO 1635741, višestrukom inicijalizacijom Pythona u istom procesu više ne dolazi do curenja memorije
Python kolekcije (range, tuple, set, frozenset, list, dict) ubrzane su pomoću vektorskog poziva PEP 590
Neki Python moduli (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) sada koriste višefaznu inicijalizaciju kako je definisano u PEP 489
Niz standardnih bibliotečkih modula (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) sada koristi stabilan ABI, definiran PEP 384.
Izvor: linux.org.ru
