python 3.9.0

En ny stabil version av det populära programmeringsspråket Python har släppts.

Python är ett högnivå, allmänt programmeringsspråk som syftar till att förbättra utvecklarens produktivitet och kodläsbarhet. Huvudfunktionerna är dynamisk typning, automatisk minneshantering, full introspektion, mekanism för undantagshantering, stöd för flertrådig datoranvändning, datastrukturer på hög nivå.

Python är ett stabilt och utbrett språk. Det används i många projekt och i olika kapaciteter: som ett primärt programmeringsspråk eller för att skapa tillägg och applikationsintegrationer. Huvudsakliga användningsområden: webbutveckling, maskininlärning och dataanalys, automation och systemadministration. Python ligger för närvarande på tredje plats i rankingen TIOBE.

Huvudändringar:

Ny högpresterande parser baserad på PEG-grammatik.

I den nya versionen ersätts den nuvarande Python-parsern baserad på LL(1)-grammatik (KS-grammatik) med en ny högpresterande och stabil parser baserad på PEG (PB-grammatik). Parsers för språk som representeras av KS-grammatik, såsom LR-parsers, kräver ett speciellt lexikal analyssteg som bryter upp inmatningen enligt blanksteg, interpunktion och så vidare. Detta är nödvändigt eftersom dessa tolkar använder förberedelser för att bearbeta vissa KS-grammatiker i linjär tid. RV-grammatik kräver inte ett separat lexikal analyssteg, och reglerna för det kan fastställas tillsammans med andra grammatikregler.

Nya operatörer och funktioner

Två nya operatörer har lagts till i den inbyggda dict-klassen, | för sammanfogning av ordböcker och |= för uppdatering.

Två nya funktioner har lagts till i klassen str: str.removeprefix(prefix) och str.removesuffix(suffix).

Typtips för inbyggda samlingstyper

Den här utgåvan innehåller stöd för generatorsyntax i alla standardsamlingar som för närvarande är tillgängliga.

def read_blog_tags(taggar: lista[str]) -> Inga:
för taggar i taggar:
print("Tagns namn", tagg)

Andra förändringar

  • PEP 573 Åtkomst till modultillstånd med C-förlängningsmetoder

  • PEP 593 Flexibla funktioner och variabla anteckningar

  • PEP 602 Python går till årliga stabila utgåvor

  • PEP 614 Avslappnande grammatikrestriktioner för dekoratörer

  • PEP 615 IANA tidszondatabasstöd i standardbiblioteket

  • BPO 38379 Sophämtning blockerar inte återvunna föremål

  • BPO 38692 os.pidfd_open, för styrning av processer utan raser och signaler;

  • BPO 39926 Unicode-stöd uppdaterat till version 13.0.0

  • BPO 1635741, Python läcker inte längre när Python initieras flera gånger i samma process

  • Python-samlingar (räckvidd, tuple, set, frozenset, lista, dict) accelererade med PEP 590 vektoranrop

  • Vissa Python-moduler (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) använder nu flerfasinitiering enligt definition i PEP 489

  • Ett antal standardbiblioteksmoduler (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) använder nu den stabila ABI som definieras av PEP 384.

Källa: linux.org.ru

Lägg en kommentar