Python 3.9.0

Ir izlaista jauna stabila populārās Python programmēšanas valodas versija.

Python ir augsta līmeņa, vispārējas nozīmes programmēšanas valoda, kuras mērķis ir uzlabot izstrādātāju produktivitāti un koda lasāmību. Galvenās funkcijas ir dinamiska rakstīšana, automātiska atmiņas pārvaldība, pilnīga pašpārbaude, izņēmumu apstrādes mehānisms, atbalsts daudzpavedienu skaitļošanai, augsta līmeņa datu struktūras.

Python ir stabila un plaši izplatīta valoda. To izmanto daudzos projektos un dažādās ietilpībās: kā primāro programmēšanas valodu vai paplašinājumu un lietojumprogrammu integrāciju izveidei. Galvenās pielietošanas jomas: tīmekļa izstrāde, mašīnmācīšanās un datu analīze, automatizācija un sistēmu administrēšana. Python šobrīd reitingā ieņem trešo vietu TIOBE.

Galvenās izmaiņas:

Jauns augstas veiktspējas parsētājs, kura pamatā ir PEG gramatikas.

Jaunajā versijā pašreizējais Python parsētājs, kura pamatā ir LL(1) gramatika (KS-gramatika), tiek aizstāts ar jaunu augstas veiktspējas un stabilu parsētāju, kura pamatā ir PEG (PB-gramatika). Parsētājiem valodās, kuras attēlo KS gramatikas, piemēram, LR parsētājiem, ir nepieciešama īpaša leksiskās analīzes darbība, kas sadala ievadi atbilstoši atstarpēm, pieturzīmēm un tā tālāk. Tas ir nepieciešams, jo šie parsētāji izmanto sagatavošanu, lai apstrādātu dažas KS gramatikas lineārā laikā. RV gramatikām nav nepieciešams atsevišķs leksiskās analīzes solis, un tā noteikumus var noteikt kopā ar citiem gramatikas noteikumiem.

Jauni operatori un funkcijas

Iebūvētajai diktātu klasei ir pievienoti divi jauni operatori, | vārdnīcu sapludināšanai un |= atjaunināšanai.

Str klasei ir pievienotas divas jaunas funkcijas: str.removeprefix(prefix) un str.removesuffix(sufikss).

Tipa mājiens iebūvētajiem kolekcijas veidiem

Šajā laidienā ir iekļauts ģeneratora sintakses atbalsts visās pašlaik pieejamajās standarta kolekcijās.

def read_blog_tags(tags: list[str]) -> Nav:
tagiem tagos:
drukāt ("Taga nosaukums", tags)

Citas izmaiņas

  • PEP 573 Piekļuve moduļa stāvoklim, izmantojot C paplašinājuma metodes

  • PEP 593 elastīgās funkcijas un mainīgās anotācijas

  • PEP 602 Python pāriet uz ikgadējiem stabiliem laidieniem

  • PEP 614 Relaksējoši gramatikas ierobežojumi dekoratoriem

  • PEP 615 IANA laika joslu datu bāzes atbalsts standarta bibliotēkā

  • BPO 38379 Atkritumu savākšana netiek bloķēta uz atgūtajiem objektiem

  • BPO 38692 os.pidfd_open, procesu kontrolei bez sacīkstēm un signāliem;

  • BPO 39926 Unicode atbalsts atjaunināts uz versiju 13.0.0

  • BPO 1635741, Python vairs nenoplūst, inicializējot Python vairākas reizes vienā un tajā pašā procesā

  • Python kolekcijas (diapazons, kopa, kopa, iesaldēta kopa, saraksts, diktāts) ir paātrinātas ar PEP 590 vektora izsaukumu

  • Daži Python moduļi (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resurss, laiks, _weakref) tagad izmanto daudzfāžu inicializēšanu, kā noteikts PEP 489.

  • Vairāki standarta bibliotēkas moduļi (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) tagad izmanto PEP 384 definēto stabilo ABI.

Avots: linux.org.ru

Pievieno komentāru