Byla vydána nová stabilní verze oblíbeného programovacího jazyka Python.
Python je univerzální programovací jazyk na vysoké úrovni zaměřený na zlepšení produktivity vývojářů a čitelnosti kódu. Hlavními funkcemi jsou dynamické psaní, automatická správa paměti, úplná introspekce, mechanismus zpracování výjimek, podpora vícevláknových výpočtů, datové struktury na vysoké úrovni.
Python je stabilní a rozšířený jazyk. Používá se v mnoha projektech a v různých kapacitách: jako primární programovací jazyk nebo pro vytváření rozšíření a integrací aplikací. Hlavní oblasti použití: vývoj webových aplikací, strojové učení a analýza dat, automatizace a správa systému. Python je aktuálně třetí v žebříčku TIOBE.
Hlavní změny:
Nový vysoce výkonný analyzátor založený na gramatikách PEG.
V nové verzi je stávající analyzátor Python založený na gramatikách LL(1) (KS-grammar) nahrazen novým vysoce výkonným a stabilním parserem založeným na PEG (PB-grammar). Analyzátory pro jazyky reprezentované gramatikami KS, jako jsou analyzátory LR, vyžadují speciální krok lexikální analýzy, který rozděluje vstup podle mezer, interpunkce a tak dále. To je nutné, protože tyto parsery používají přípravu ke zpracování některých KS gramatik v lineárním čase. RV gramatiky nevyžadují samostatný krok lexikální analýzy a pravidla pro něj mohou být stanovena spolu s dalšími gramatickými pravidly.
Nové operátory a funkce
Do vestavěné třídy dict byly přidány dva nové operátory, | pro slučování slovníků a |= pro aktualizaci.
Do třídy str byly přidány dvě nové funkce: str.removeprefix(prefix) a str.removesuffix(suffix).
Tipování typů pro vestavěné typy kolekcí
Toto vydání obsahuje podporu pro syntaxi generátoru ve všech aktuálně dostupných standardních kolekcích.
def read_blog_tags(tags: list[str]) -> None:
pro značky ve značkách:
print("Tag Name", tag)
Další změny
PEP 573 Přístup ke stavu modulu pomocí metod rozšíření C
PEP 593 Flexibilní funkce a proměnné anotace
PEP 602 Python přechází na roční stabilní verze
PEP 614 Relaxační gramatická omezení pro dekoratéry
Podpora databáze časového pásma PEP 615 IANA ve standardní knihovně
BPO 38379 Garbage collection neblokuje obnovené objekty
BPO 38692 os.pidfd_open, pro řízení procesů bez ras a signálů;
Podpora BPO 39926 Unicode byla aktualizována na verzi 13.0.0
BPO 1635741, Python již neuniká při vícenásobné inicializaci Pythonu ve stejném procesu
Kolekce Pythonu (rozsah, n-tice, sada, zmrazená sada, seznam, diktát) akcelerované pomocí vektorového volání PEP 590
Některé moduly Pythonu (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) nyní používají polyfázovou inicializaci definovanou v PEP 489
Řada standardních knihovních modulů (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) nyní používá stabilní ABI definované PEP 384.
Zdroj: linux.org.ru
