Python 3.9.0

'n Nuwe stabiele weergawe van die gewilde Python-programmeertaal is vrygestel.

Python is 'n hoëvlak, algemene programmeertaal wat daarop gemik is om ontwikkelaarproduktiwiteit en kodeleesbaarheid te verbeter. Die hoofkenmerke is dinamiese tik, outomatiese geheuebestuur, volle introspeksie, uitsonderingshanteringsmeganisme, ondersteuning vir multi-threaded rekenaar, hoëvlak datastrukture.

Python is 'n stabiele en wydverspreide taal. Dit word in baie projekte en in verskeie hoedanighede gebruik: as 'n primêre programmeertaal of om uitbreidings en toepassingsintegrasies te skep. Hoofgebiede van toepassing: webontwikkeling, masjienleer en data-analise, outomatisering en stelseladministrasie. Python is tans derde op die ranglys TIOBE.

Belangrikste veranderinge:

Nuwe hoëprestasie-ontleder gebaseer op PEG-grammatika.

In die nuwe weergawe word die huidige Python-ontleder gebaseer op LL(1)-grammatika (KS-grammatika) vervang met 'n nuwe hoëprestasie en stabiele ontleder gebaseer op PEG (PB-grammatika). Ontleders vir tale wat deur KS-grammatika verteenwoordig word, soos LR-ontleders, vereis 'n spesiale leksikale ontledingstap wat die invoer opbreek volgens witspasie, leestekens, ensovoorts. Dit is nodig omdat hierdie ontleders voorbereiding gebruik om sommige KS-grammatika in lineêre tyd te verwerk. RV-grammatika vereis nie 'n aparte leksikale ontledingstap nie, en die reëls daarvoor kan saam met ander grammatikareëls neergelê word.

Nuwe operateurs en funksies

Twee nuwe operateurs is bygevoeg tot die ingeboude dict-klas, | vir samevoeging van woordeboeke en |= vir opdatering.

Twee nuwe funksies is by die str klas gevoeg: str.removeprefix(prefix) en str.removesuffix(suffix).

Tik wenke vir ingeboude versamelingstipes

Hierdie vrystelling bevat ondersteuning vir kragopwekkersintaksis in alle standaardversamelings wat tans beskikbaar is.

def read_blog_tags(tags: lys[str]) -> Geen:
vir etikette in etikette:
print("Tag Naam", tag)

Ander veranderinge

  • PEP 573 Toegang tot modulestatus deur C-uitbreidingsmetodes te gebruik

  • PEP 593 Buigsame funksies en veranderlike annotasies

  • PEP 602 Python skuif na jaarlikse stabiele vrystellings

  • PEP 614 Ontspannende grammatikabeperkings op versierders

  • PEP 615 IANA Tydsone Databasis Ondersteuning in die Standaard Biblioteek

  • BPO 38379 Vullisversameling blokkeer nie op herwonne voorwerpe nie

  • BPO 38692 os.pidfd_open, vir beheer van prosesse sonder rasse en seine;

  • BPO 39926 Unicode-ondersteuning opgedateer na weergawe 13.0.0

  • BPO 1635741, Python lek nie meer wanneer Python verskeie kere in dieselfde proses geïnisialiseer word nie

  • Python-versamelings (reeks, tuple, stel, bevrore stel, lys, dict) versnel met PEP 590 vektoroproep

  • Sommige Python-modules (_abc, oudioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operateur, hulpbron, tyd, _weakref) gebruik nou polifase-inisialisering soos gedefinieer in PEP 489

  • 'n Aantal standaard biblioteekmodules (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) gebruik nou die stabiele ABI wat deur PEP 384 gedefinieer is.

Bron: linux.org.ru

Voeg 'n opmerking