Python 3.9.0

Ilmus 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üüpimine, automaatne mälu juhtimine, täielik introspektsioon, erandite käsitlemise mehhanism, mitme lõime tugi ja kõrgetasemelised andmestruktuurid.

Python on stabiilne ja laialdaselt kasutatav keel. Seda kasutatakse paljudes projektides ja erinevates rollides: põhikeelena või laienduste ja rakenduste integreerimise jaoks. Peamised rakendusalad on veebiarendus, masinõpe ja andmeanalüüs, automatiseerimine ja süsteemiadministreerimine. Hetkel on Python kolmandal kohal edetabelis TIOBE.

Peamised muudatused:

Uus kõrge jõudlusega süntaksianalüsaator, mis põhineb PEG grammatikatel.

Uues versioonis on hetkel kasutatav Python'i parser, mis põhineb LL(1) grammatikal, asendatud uue kõrge jõudlusega ja stabiilse süntaktilise analüsaatoriga, mis põhineb PEG (RP-grammatika). Grammatikate jaoks, mis on esindatud KS-grammatikates, näiteks LR-analüsaatorid, vajavad nad erilist leksikaalanalüüsi sammu, mis jagab sisendandmed vastavalt tühikutele, kirjavahemärkidele jne. See on vajalik, kuna need analüsaatorid kasutavad mõnede KS-grammatikate töötlemiseks eelanalüüsi, mis toimib lineaarajas. RP-grammatikad ei nõua eraldi leksikaalanalüüsi sammu, kuna reeglid selle jaoks võivad olla seotud koos teiste grammatikareeglitega.

Uued operaatorid ja funktsioonid

Sisseehitatud klassi dict on lisatud kaks uut operaatorit, | sõnaraamatute ühendamiseks ja |= nende värskendamiseks.

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

Tüüpide näpunäide sisseehitatud kollektsioonide tüüpide jaoks

Selles versioonis on kaasatud toetuse genereerijate süntaks kõikides standardsetes kollektsioonides, mis on hetkel saadaval.

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

Muudatused

  • PEP 573 Mooduli olekute ligipääs laiendusmeetodite kaudu

  • PEP 593 Paindlikud funktsioonid ja muutujate annotatsioonid

  • PEP 602 Python liigub üle igaaastastele stabiilsetele väljalaskeile

  • PEP 614 Grammatiliste piirangute leevendamine dekoratoritele

  • PEP 615 IANA aegade andmebaasi tugi standardraamatukogus

  • BPO 38379 Prügikogumine ei blokeeru taastatud objektide peal

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

  • BPO 39926 Unicode tugi on värskendatud versioonile 13.0.0

  • BPO 1635741, kui Pythonit initsialiseeritakse mitu korda samas protsessis, ei toimu enam mälu leket

  • Python kogud (range, tuple, set, frozenset, list, dict) on kiirendatud vektorkutsumise PEP 590 kaudu

  • Mõned Python moodulid (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) kasutavad nüüd mitme etapi initsialiseerimist nagu määratud PEP 489

  • Rida standardraamatukogu mooduleid (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) kasutavad nüüd stabiilset ABI-d, nagu määratud PEP 384.

Allikas: linux.org.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster