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