python 3.9.0

Nova stabila eldono de la populara programlingvo Python estis publikigita.

Python estas altnivela, ĝeneraluzebla programlingvo celanta plibonigi la produktivecon de la programistoj kaj la legeblecon de la kodo. La ĉefaj trajtoj estas dinamika tajpado, aŭtomata memoradministrado, plena introspekto, escepta uzado-mekanismo, subteno por multfadena komputado, altnivelaj datumstrukturoj.

Python estas stabila kaj disvastigita lingvo. Ĝi estas uzata en multaj projektoj kaj en diversaj kapabloj: kiel ĉefa programlingvo aŭ por krei etendaĵojn kaj aplikajn integriĝojn. Ĉefaj aplikaĵoj: TTT-evoluo, maŝinlernado kaj datuma analizo, aŭtomatigo kaj sistema administrado. Python nuntempe estas tria en la rangotabeloj TIOBE.

Ĉefaj ŝanĝoj:

Nova alt-efikeca analizilo bazita sur PEG-gramatiko.

En la nova versio, la nuna Python-analizilo bazita sur LL(1)-gramatiko (KS-gramatiko) estas anstataŭigita per nova alt-efikeca kaj stabila analizilo bazita sur PEG (PB-gramatiko). Analiziloj por lingvoj reprezentitaj de KS-gramatikoj, kiel ekzemple LR-analiziloj, postulas specialan leksikan analizan paŝon, kiu disigas la enigon laŭ blankspaco, interpunkcio ktp. Ĉi tio estas necesa ĉar ĉi tiuj analiziloj uzas preparing por prilabori kelkajn KS-gramatikojn en lineara tempo. RV-gramatikoj ne postulas apartan leksikan analizpaŝon, kaj la reguloj por ĝi povas esti fiksitaj kune kun aliaj gramatikaj reguloj.

Novaj funkciigistoj kaj funkcioj

Du novaj funkciigistoj estis aldonitaj al la enkonstruita dict-klaso, | por kunfandi vortarojn kaj |= por ĝisdatigo.

Du novaj funkcioj estis aldonitaj al la str-klaso: str.removeprefix(prefikso) kaj str.removesuffix(sufikso).

Tipo sugesto por enkonstruitaj kolektospecoj

Ĉi tiu eldono inkluzivas subtenon por generatora sintakso en ĉiuj normaj kolektoj nuntempe disponeblaj.

def leg_blog_tags (etikedoj: listo[str]) -> Neniu:
por etikedoj en etikedoj:
print("Etikedo Nomo", etikedo)

Aliaj ŝanĝoj

  • PEP 573 Aliranta Modulan Ŝtaton Uzanta C-Etendajn Metodojn

  • PEP 593 Flekseblaj Funkcioj kaj Variaj Komentarioj

  • PEP 602 Python moviĝas al ĉiujaraj stabilaj eldonoj

  • PEP 614 Malstreĉaj Gramatikaj Limigoj sur Dekoraciistoj

  • PEP 615 IANA Time Zone Database Support en la Norma Biblioteko

  • BPO 38379 Rubkolekto ne blokas sur reakiritaj objektoj

  • BPO 38692 os.pidfd_open, por kontrolo de procezoj sen vetkuroj kaj signaloj;

  • BPO 39926 Unikoda subteno ĝisdatigita al versio 13.0.0

  • BPO 1635741, Python ne plu likas dum pravalorigo de Python plurfoje en la sama procezo

  • Python-kolektoj (gamo, opo, aro, frosta aro, listo, dikto) akcelitaj kun vektorvoko PEP 590

  • Kelkaj Python-moduloj (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operatoro, rimedo, tempo, _weakref) nun uzas plurfazan inicialigon kiel difinite en PEP 489

  • Kelkaj normaj bibliotekmoduloj (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, hazarda, select, struct, termios, zlib) nun uzas la stabilan ABI difinitan de PEP 384.

fonto: linux.org.ru

Aldoni komenton