Python 3.9.0

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

Dodajte komentar