Python 3.9.0

Vyšlo nové stabilné vydanie obľúbeného programovacieho jazyka Python.

Python je univerzálny programovací jazyk na vysokej úrovni zameraný na zlepšenie produktivity vývojárov a čitateľnosti kódu. Hlavnými funkciami sú dynamické písanie, automatická správa pamäte, úplná introspekcia, mechanizmus spracovania výnimiek, podpora pre viacvláknové výpočty, dátové štruktúry na vysokej úrovni.

Python je stabilný a rozšírený jazyk. Používa sa v mnohých projektoch a v rôznych kapacitách: ako primárny programovací jazyk alebo na vytváranie rozšírení a integrácií aplikácií. Hlavné oblasti použitia: vývoj webových aplikácií, strojové učenie a analýza dát, automatizácia a správa systémov. Python je momentálne na treťom mieste v rebríčku TIOBE.

Hlavné zmeny:

Nový vysoko výkonný analyzátor založený na gramatikách PEG.

V novej verzii je súčasný analyzátor Python založený na gramatikách LL(1) (KS-grammar) nahradený novým vysokovýkonným a stabilným syntaktickým analyzátorom založeným na PEG (PB-grammar). Analyzátory pre jazyky reprezentované gramatikami KS, ako sú analyzátory LR, vyžadujú špeciálny krok lexikálnej analýzy, ktorý rozdelí vstup podľa medzier, interpunkcie atď. Je to potrebné, pretože tieto parsery používajú prípravu na spracovanie niektorých KS gramatík v lineárnom čase. RV gramatiky nevyžadujú samostatný krok lexikálnej analýzy a pravidlá preň môžu byť stanovené spolu s inými gramatickými pravidlami.

Nové operátory a funkcie

Do vstavanej triedy diktovania pribudli dvaja noví operátori | na zlučovanie slovníkov a |= na aktualizáciu.

Do triedy str boli pridané dve nové funkcie: str.removeprefix(prefix) a str.removesuffix(suffix).

Tipovanie typov pre vstavané typy kolekcií

Toto vydanie obsahuje podporu pre syntax generátora vo všetkých aktuálne dostupných štandardných kolekciách.

def read_blog_tags(značky: zoznam[str]) -> Žiadne:
pre značky v značkách:
print("Názov značky", značka)

Ďalšie zmeny

  • PEP 573 Prístup k stavu modulu pomocou metód rozšírenia C

  • PEP 593 Flexibilné funkcie a anotácie premenných

  • PEP 602 Python prechádza na ročné stabilné vydania

  • PEP 614 Relaxačné gramatické obmedzenia týkajúce sa dekoratérov

  • Podpora databázy časového pásma PEP 615 IANA v štandardnej knižnici

  • BPO 38379 Zber odpadu neblokuje obnovené objekty

  • BPO 38692 os.pidfd_open, pre riadenie procesov bez pretekov a signálov;

  • Podpora BPO 39926 Unicode aktualizovaná na verziu 13.0.0

  • BPO 1635741, Python už neuniká pri viacnásobnej inicializácii Pythonu v rovnakom procese

  • Kolekcie Pythonu (rozsah, n-tice, množina, zmrazená množina, zoznam, diktát) akcelerované vektorovým volaním PEP 590

  • Niektoré moduly Pythonu (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, time, _weakref) teraz používajú polyfázovú inicializáciu definovanú v PEP 489

  • Množstvo štandardných knižničných modulov (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) teraz používa stabilné ABI definované v PEP 384.

Zdroj: linux.org.ru

Pridať komentár