Python 3.9.0

Популярдуу Python программалоо тилинин жаңы туруктуу релизи чыкты.

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

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

Негизги өзгөрүүлөр:

PEG грамматикасына негизделген жаңы жогорку натыйжалуу талдоочу.

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

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

Камтылган dict классына эки жаңы оператор кошулду, | сөздүктөрдү бириктирүү үчүн жана |= жаңылоо үчүн.

str классына эки жаңы функция кошулду: str.removeprefix(prefix) жана str.removesuffix(suffix).

Орнотулган коллекция түрлөрү үчүн ишаарат

Бул чыгарылыш учурда жеткиликтүү бардык стандарттык коллекцияларда генератор синтаксисин колдоону камтыйт.

def read_blog_tags(тегдер: тизме[str]) -> Эч бири:
тэгдердеги тэгдер үчүн:
print("Тег аты", тэг)

Башка өзгөрүүлөр

  • 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 коллекциялары (диапазон, кортеж, топтом, frozenset, тизме, дикт)

  • Кээ бир 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ди колдонушат.

Source: linux.org.ru

Комментарий кошуу