Танымал Python бағдарламалау тілінің жаңа тұрақты шығарылымы шығарылды.

Python - әзірлеушілердің өнімділігін және кодты оқу мүмкіндігін жақсартуға бағытталған жоғары деңгейлі, жалпы мақсаттағы бағдарламалау тілі. Негізгі мүмкіндіктері - динамикалық теру, жадты автоматты басқару, толық интроспекция, ерекше жағдайларды өңдеу механизмі, көп ағынды есептеулерді қолдау, жоғары деңгейлі деректер құрылымдары.

Python - тұрақты және кең таралған тіл. Ол көптеген жобаларда және әртүрлі қуаттарда қолданылады: негізгі бағдарламалау тілі ретінде немесе кеңейтімдер мен қолданбалы интеграцияларды жасау үшін. Қолданудың негізгі бағыттары: веб-әзірлеу, машиналық оқыту және деректерді талдау, автоматтандыру және жүйені басқару. Python қазір рейтингте үшінші орында ТИОБЕ.

Негізгі өзгерістер:

PEG грамматикасына негізделген жаңа жоғары өнімді талдаушы.

Жаңа нұсқада LL(1) грамматикасына негізделген ағымдағы Python талдаушысы (KS-грамматика) PEG (PB-грамматика) негізіндегі жаңа өнімділігі жоғары және тұрақты талдаушымен ауыстырылды. LR талдаушылары сияқты KS грамматикасы арқылы ұсынылған тілдерге арналған талдаушылар бос орынға, тыныс белгілеріне және т.б. сәйкес енгізуді бөлетін арнайы лексикалық талдау қадамын қажет етеді. Бұл қажет, себебі бұл талдаушылар кейбір KS грамматикаларын сызықтық уақытта өңдеу үшін дайындықты пайдаланады. RV грамматикасы лексикалық талдаудың жеке қадамын қажет етпейді және оған арналған ережелер басқа грамматикалық ережелермен бірге белгіленуі мүмкін.

Жаңа операторлар мен функциялар

Кірістірілген dict класына екі жаңа оператор қосылды, | сөздіктерді біріктіру үшін және |= жаңарту үшін.

str сыныбына екі жаңа функция қосылды: str.removeprefix(префикс) және str.removesuffix(суффикс).

Кірістірілген жинақ түрлеріне арналған нұсқау түрі

Бұл шығарылым қазіргі уақытта қол жетімді барлық стандартты жинақтардағы генератор синтаксисін қолдауды қамтиды.

def read_blog_tags(тегтер: тізім[str]) -> Ешбірі:
тегтердегі тегтер үшін:
басып шығару («Тег аты», тег)

Басқа өзгерістер

  • PEP 573 C кеңейту әдістерін пайдаланып модуль күйіне қол жеткізу

  • PEP 593 Икемді функциялар және айнымалы аннотациялар

  • PEP 602 Python жыл сайынғы тұрақты шығарылымдарға ауысады

  • PEP 614 Декораторларға арналған жеңілдететін грамматикалық шектеулер

  • Стандартты кітапханада PEP 615 IANA уақыт белдеуі дерекқорын қолдау

  • BPO 38379 Қоқыс жинау қалпына келтірілген нысандарда блокталмайды

  • BPO 38692 os.pidfd_open, жарыстар мен сигналдарсыз процестерді басқаруға арналған;

  • BPO 39926 Юникод қолдауы 13.0.0 нұсқасына жаңартылды

  • BPO 1635741, Python бір процесте бірнеше рет инициализацияланған кезде Python енді ағып кетпейді

  • PEP 590 векторлық шақыруымен жылдамдатылған Python жинақтары (диапазон, кортеж, жиынтық, мұздатылған жинақ, тізім, дикт)

  • Кейбір Python модульдері (_abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, оператор, ресурс, уақыт, _weakref) енді PEP 489-да анықталғандай көпфазалы инициализацияны пайдаланады.

  • Бірқатар стандартты кітапхана модульдері (audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, select, struct, termios, zlib) енді PEP 384 анықтаған тұрақты ABI пайдаланады.

Ақпарат көзі: linux.org.ru

пікір қалдыру