Python 3.9.0

Izdana je bila nova stabilna izdaja priljubljenega programskega jezika Python.

Python je visokonivojski programski jezik za splošne namene, namenjen izboljšanju produktivnosti razvijalcev in berljivosti kode. Glavne značilnosti so dinamično tipkanje, samodejno upravljanje pomnilnika, popolna introspekcija, mehanizem za obravnavanje izjem, podpora za večnitno računalništvo, podatkovne strukture na visoki ravni.

Python je stabilen in razširjen jezik. Uporablja se v številnih projektih in v različnih vlogah: kot primarni programski jezik ali za ustvarjanje razširitev in integracij aplikacij. Glavna področja uporabe: spletni razvoj, strojno učenje in analiza podatkov, avtomatizacija in sistemska administracija. Python je trenutno na tretjem mestu lestvice TIOBE.

Večje spremembe:

Nov visoko zmogljiv razčlenjevalnik, ki temelji na slovnicah PEG.

V novi različici je trenutni razčlenjevalnik Python, ki temelji na slovnicah LL(1) (KS-slovnica), nadomeščen z novim visoko zmogljivim in stabilnim razčlenjevalnikom, ki temelji na PEG (PB-slovnica). Razčlenjevalniki za jezike, ki jih predstavljajo slovnice KS, kot so razčlenjevalniki LR, zahtevajo poseben korak leksikalne analize, ki razdeli vnos glede na presledke, ločila itd. To je potrebno, ker ti razčlenjevalniki uporabljajo preparsing za obdelavo nekaterih slovnic KS v linearnem času. Slovnice RV ne zahtevajo ločenega koraka leksikalne analize, pravila zanjo pa je mogoče določiti skupaj z drugimi slovničnimi pravili.

Novi operaterji in funkcije

Dva nova operaterja sta bila dodana v vgrajeni razred dict, | za združevanje slovarjev in |= za posodabljanje.

V razred str sta bili dodani dve novi funkciji: str.removeprefix(prefix) in str.removesuffix(suffix).

Tipsko namigovanje za vgrajene vrste zbirk

Ta izdaja vključuje podporo za sintakso generatorja v vseh standardnih zbirkah, ki so trenutno na voljo.

def read_blog_tags(tags: list[str]) -> Brez:
za oznake v oznakah:
print("Ime oznake", oznaka)

Druge spremembe

  • PEP 573 Dostopanje do stanja modula z uporabo metod razširitve C

  • PEP 593 Prilagodljive funkcije in opombe spremenljivk

  • PEP 602 Python preide na letne stabilne izdaje

  • PEP 614 Sproščanje slovničnih omejitev za dekoraterje

  • PEP 615 Podpora za podatkovne zbirke časovnih pasov IANA v standardni knjižnici

  • BPO 38379 Zbiranje smeti ne blokira obnovljenih objektov

  • BPO 38692 os.pidfd_open, za nadzor procesov brez dirk in signalov;

  • BPO 39926 Podpora za Unicode posodobljena na različico 13.0.0

  • BPO 1635741, Python ne pušča več pri večkratni inicializaciji Pythona v istem procesu

  • Zbirke Python (obseg, tuple, set, frozenset, list, dict), pospešene z vektorskim klicem PEP 590

  • Nekateri moduli Python (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) zdaj uporabljajo večfazno inicializacijo, kot je definirano v PEP 489

  • Številni standardni knjižnični moduli (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) zdaj uporabljajo stabilen ABI, ki ga definira PEP 384.

Vir: linux.org.ru

Dodaj komentar