Python 3.9.0

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

Přidat komentář