Megjelent a Python népszerű programozási nyelv új stabil verziója.
A Python egy magas szintű, általános célú programozási nyelv, amely a fejlesztők termelékenységének növelésére és a kód olvashatóságára összpontosít. A főbb jellemzői: dinamikus típusosság, automatikus memória kezelés, teljes introspekció, kivételkezelési mechanizmus, valamint a párhuzamos számítások támogatása, magas szintű adatszerkezetek.
A Python egy stabil és széles körben elterjedt nyelv. Számos projektben és különböző minőségekben használják: mint fő programozási nyelvet vagy alkalmazások kiterjesztésének és integrációjának eszközeként. Főbb alkalmazási területei: webfejlesztés, gépi tanulás és adatelemzés, automatizálás és rendszeradminisztráció. Jelenleg a Python a harmadik helyet foglalja el a TIOBE.
Főbb változások:
Új, nagy teljesítményű elemző PEG nyelvtanok alapján.
Az új verzióban a jelenlegi LL(1) (CFL-nyelvtan) alapú Python elemzőt egy új, nagy teljesítményű és stabil PEG (RV-nyelvtan) alapú elemző váltja fel. A CFL-nyelvtanokkal rendelkező nyelvek elemzői, például az LR-elemzők külön lexikai elemzési lépést igényelnek, amely a bemenetet a szóközök, írásjelek stb. szerint darabolja. Ez szükséges, mivel ezek az elemzők előzetes elemzést használnak a CFL-nyelvtanok lineáris időben történő feldolgozásához. Az RV-nyelvtanok nem igényelnek külön lexikai elemzési lépést, és a szabályokat együtt rakhatják össze a nyelvtan egyéb szabályaival.
Új operátorok és funkciók
A beépített dict osztályhoz új operátorok kerültek hozzáadásra, a | a szótárak egyesítésére, a |= pedig a frissítésre.
A str osztályhoz két új funkció került hozzáadásra: str.removeprefix(előtag) és str.removesuffix(végződés).
Típusjavaslat beépített gyűjteménytípusokhoz
Ebben a kiadásban a generator szintaxis támogatása minden jelenlegi szabványos gyűjteményhez bekerült.
def read_blog_tags(tags: list[str]) -> None:
for tag in tags:
print("Címke neve", tag)
Egyéb változások
PEP 573 Modul állapotának elérése C kiterjesztési módszerekkel
PEP 593 Rugalmas funkciók és változó annotációk
PEP 602 A Python éves stabil kiadásokra vált
PEP 614 A dekórátorokkal kapcsolatos nyelvtani korlátozások enyhítése
A PEP 615 IANA időzónák adatbázisának támogatása a standard könyvtárban
A BPO 38379 a szemétgyűjtés nem blokkolódik a helyreállított objektumoknál
A BPO 38692 os.pidfd_open, a folyamatok kezelésére versenyhelyzetek és jelek nélkül;
A BPO 39926 az Unicode támogatása frissítve lett a 13.0.0 verzióra
A BPO 1635741, a Python többszöri inicializálása ugyanabban a folyamatban már nem okoz memória szivárgást
A Python gyűjtemények (range, tuple, set, frozenset, list, dict) a PEP 590 vektorizált hívásával felgyorsultak
Néhány Python modul (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) mostantól többfázisú inicializációt használ, mint ahogyan azt a PEP 489 definiálja
Számos standard könyvtári modul (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) mostantól a PEP 384 által meghatározott stabil ABI-t használja.
Forrás: linux.org.ru
