Python 3.9.0

En ny stabil utgivelse av det populære programmeringsspråket Python har blitt utgitt.

Python er et overordnet programmeringsspråk for generell bruk rettet mot å forbedre utviklerens produktivitet og kodelesbarhet. Hovedfunksjonene er dynamisk skriving, automatisk minneadministrasjon, full introspeksjon, unntakshåndteringsmekanisme, støtte for multi-threaded databehandling, datastrukturer på høyt nivå.

Python er et stabilt og utbredt språk. Det brukes i mange prosjekter og i ulike kapasiteter: som et primært programmeringsspråk eller for å lage utvidelser og applikasjonsintegrasjoner. Hovedanvendelsesområder: webutvikling, maskinlæring og dataanalyse, automasjon og systemadministrasjon. Python ligger for tiden på tredjeplass på rangeringen TIOBE.

Hovedendringer:

Ny høyytelses-parser basert på PEG-grammatikk.

I den nye versjonen er den nåværende Python-parseren basert på LL(1)-grammatikk (KS-grammatikk) erstattet med en ny høyytelses og stabil parser basert på PEG (PB-grammatikk). Parsere for språk representert av KS-grammatikk, for eksempel LR-parsere, krever et spesielt leksikalsk analysetrinn som bryter opp input i henhold til mellomrom, tegnsetting og så videre. Dette er nødvendig fordi disse parserne bruker forberedelse til å behandle noen KS-grammatikker i lineær tid. RV-grammatikker krever ikke et eget leksikalsk analysetrinn, og reglene for det kan fastsettes sammen med andre grammatikkregler.

Nye operatører og funksjoner

To nye operatører er lagt til den innebygde dict-klassen, | for sammenslåing av ordbøker og |= for oppdatering.

To nye funksjoner er lagt til str-klassen: str.removeprefix(prefix) og str.removesuffix(suffix).

Typehint for innebygde samlingstyper

Denne utgivelsen inkluderer støtte for generatorsyntaks i alle standardsamlinger som for øyeblikket er tilgjengelige.

def read_blog_tags(tags: liste[str]) -> Ingen:
for tagger i tagger:
print("Tagnavn", tag)

Andre endringer

  • PEP 573 Tilgang til modultilstand ved bruk av C-utvidelsesmetoder

  • PEP 593 Fleksible funksjoner og variable merknader

  • PEP 602 Python flytter til årlige stabile utgivelser

  • PEP 614 Avslappende grammatikkrestriksjoner på dekoratører

  • Støtte for PEP 615 IANA tidssonedatabase i standardbiblioteket

  • BPO 38379 Søppelinnsamling blokkerer ikke gjenvunne gjenstander

  • BPO 38692 os.pidfd_open, for kontroll av prosesser uten raser og signaler;

  • BPO 39926 Unicode-støtte oppdatert til versjon 13.0.0

  • BPO 1635741, Python lekker ikke lenger når Python initialiseres flere ganger i samme prosess

  • Python-samlinger (range, tuple, set, frozenset, list, dict) akselerert med PEP 590 vektorkall

  • Noen Python-moduler (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) bruker nå flerfaseinitialisering som definert i PEP 489

  • En rekke standard bibliotekmoduler (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) bruker nå den stabile ABI definert av PEP 384.

Kilde: linux.org.ru

Legg til en kommentar