Python 3.9.0

Välja on saanud uus stabiilne versioon populaarsest programmeerimiskeelest Python.

Python on kõrgetasemeline üldotstarbeline programmeerimiskeel, mis keskendub arendaja tootlikkuse ja koodi loetavuse parandamisele. Peamised omadused on dünaamiline tüpiseerimine, automaatne mäluhalduse, täielik introspektsioon, erandite käsitlemise mehhanism, mitme lõime toetamine ning kõrgetasemelised andmestruktuurid.

Python on stabiilne ja laialdaselt levinud keel. Seda kasutatakse paljudes projektides ja erinevates rollides: peamise programmeerimiskeelena või rakenduste laiendamiseks ja integreerimiseks. Peamised rakendusvaldkonnad: veebiarendus, masinõpe ja andmete analüüs, automatiseerimine ja süsteemiadministreerimine. Hetkel on Python kolmandal kohal reitingus TIOBE.

Peamised muudatused:

Uus kõrgtehnoloogiline süntaksianalüsaator, mis põhineb PEG grammatikal.

Uues versioonis on praegune Python'i parsiar, mis põhineb LL(1) (Konteksti-vaba grammatika), asendatud uue kõrge jõudlusega ja stabiilse süntaksianalüsaatoriga, mis põhineb PEG (Konteksti-kohane grammatika). Konteksi-vabade grammatikate jaoks mõeldud analüsaatorid, nagu LR analüsaatorid, vajavad eraldi leksikaalanalüüsi sammu, mis jagab sisendi vastavalt tühikutele, kirjavahemärkidele jne. See on vajalik, kuna need analüsaatorid kasutavad eelanalüüsi teatud konteksti-vabade grammatikate töötlemiseks lineaarajas. Rügamatika ei vaja eraldi leksikaalanalüüsi sammu, ja reeglid selle jaoks võib paigutada koos teiste grammatikareeglitega.

Uued operaatorid ja funktsioonid

Sisseehitatud klassi dict on lisatud kaks uut operaatorit: | sõnaraamatute ühendamiseks ja |= uuendamiseks.

Klassi str on lisatud kaks uut funktsiooni: str.removeprefix(eelist) ja str.removesuffix(lõpp).

Tüübivihje sisseehitatud kogumite tüüpidele

Selles versioonis on lisatud generaatori süntaks kõigile praegu saadaolevatele standardsetele kogumitele.

def read_blog_tags(tags: list[str]) -> None:
for tag in tags:
print("Sildi nimi", tag)

Teised muudatused

  • PEP 573 Mooduli olekule juurdepääs C laiendamise kaudu

  • PEP 593 Paindlikud funktsioonid ja muutujate annotatsioonid

  • PEP 602 Python läheb üle igaaastastele stabiilsetele väljalasetele

  • PEP 614 Dekoratsioonide grammatika tingimuste pehmendamine

  • PEP 615 IANA ajavööndite andmebaasi tugi standardraamatukogus

  • BPO 38379 prügikoristamine ei blokeeru taastatud objektidel

  • BPO 38692 os.pidfd_open, protsesside haldamiseks ilma võistlemise ja signaalideta;

  • BPO 39926 Unicode tugi on värskendatud versioonini 13.0.0

  • BPO 1635741, mitmekordse Python'i initsialiseerimise korral samas protsessis, ei toimu enam mäluleket

  • Python'i kogud (range, tuple, set, frozenset, list, dict) on kiirendatud PEP 590 vektorväljakutse abil

  • Mõned Python'i moodulid (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) kasutavad nüüd mitme faasi initsialiseerimist vastavalt PEP 489 definitsioonile

  • Rida standardraamatukogude mooduleid (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) kasutab nüüd stabiilset ABI-d, mille on määratlenud PEP 384.

Allikas: linux.org.ru

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster