Objavljeno je novo stabilno izdanje popularnog programskog jezika Python.
Python je programski jezik opšte namene visokog nivoa koji ima za cilj da poboljša produktivnost programera i čitljivost koda. Glavne karakteristike su dinamičko kucanje, automatsko upravljanje memorijom, potpuna introspekcija, mehanizam za rukovanje izuzetcima, podrška za višenitno računanje, strukture podataka visokog nivoa.
Python je stabilan i široko rasprostranjen jezik. Koristi se u mnogim projektima iu različitim kapacitetima: kao primarni programski jezik ili za kreiranje ekstenzija i integracija aplikacija. Glavna područja primjene: web razvoj, mašinsko učenje i analiza podataka, automatizacija i sistemska administracija. Python trenutno zauzima treće mjesto na rang listi TIOBE.
Glavne promjene:
Novi parser visokih performansi zasnovan na PEG gramatikama.
U novoj verziji, trenutni Python parser baziran na LL(1) gramatikama (KS-gramatika) zamijenjen je novim visokoučinkovitim i stabilnim parserom baziranim na PEG-u (PB-gramatika). Parseri za jezike predstavljene KS gramatikama, kao što su LR parseri, zahtijevaju poseban korak leksičke analize koji razbija unos prema razmacima, 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 klasi dict, | za spajanje rječnika i |= za ažuriranje.
Dvije nove funkcije dodane su str klasi: str.removeprefix(prefix) i str.removesuffix(suffix).
Tip nagoveštaja za ugrađene tipove kolekcije
Ovo izdanje uključuje podršku za sintaksu generatora u svim trenutno dostupnim standardnim kolekcijama.
def read_blog_tags(tags: lista[str]) -> Ništa:
za oznake u oznakama:
print("Naziv oznake", oznaka)
Ostale promjene
-
PEP 573 Pristup stanju modula pomoću C Extension Methods
-
PEP 593 Fleksibilne funkcije i varijabilne napomene
-
PEP 602 Python prelazi na godišnja stabilna izdanja
-
PEP 614 Relaksirajuća gramatička ograničenja za dekoratere
-
PEP 615 IANA Podrška baze podataka o vremenskoj zoni u standardnoj biblioteci
-
BPO 38379 Skupljanje smeća se ne blokira na oporavljenim objektima
-
BPO 38692 os.pidfd_open, za kontrolu procesa bez trka i signala;
-
BPO 39926 Unicode podrška ažurirana na verziju 13.0.0
-
BPO 1635741, Python više ne curi kada se više puta inicijalizira Python u istom procesu
-
Python kolekcije (opseg, tuple, set, frozenset, lista, dict) ubrzane sa PEP 590 vektorskim pozivom
-
Neki Python moduli (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resurs, vrijeme, _weakref) sada koriste polifaznu inicijalizaciju kako je definirano u PEP 489
-
Brojni moduli standardne biblioteke (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) sada koriste stabilan ABI definisan PEP 384.
izvor: linux.org.ru