Python 3.9.0

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

Dodajte komentar