Издање програмског језика Питхон 3.8

После годину и по дана развоја представљени издање главног програмског језика питхон КСНУМКС. Исправне исправке за грану Питхон 3.8 је планирано пуштање у року од 18 месеци. Критичне рањивости ће бити исправљене на 5 година до октобра 2024. Исправне исправке за грану 3.8 биће објављене свака два месеца, а прво исправно издање Питхон-а 3.8.1 заказано је за децембар.

Међу доданим иновације:

  • подршка операције доделе у оквиру сложених израза. Са новим „:=“ оператором, могуће је извршити операције додељивања вредности унутар других израза, на пример, да би се избегли двоструки позиви функција у условним изјавама и приликом дефинисања петљи:

    ако (н := лен(а)) > 10:
    ...

    док (блок := ф.реад(256)) != ":
    ...

  • подршка нова синтакса за одређивање аргумената функције. Када набрајате аргументе током дефиниције функције, сада можете да наведете „/“ да бисте одвојили аргументе којима се могу доделити вредности само на основу редоследа у коме се вредности набрајају током позива функције, од аргумената који се могу доделити било којим редоследом (променљива=синтакса вредности) ). Са практичне стране, нова функција омогућава функцијама у Питхон-у да у потпуности емулирају понашање постојећих функција у Ц-у, као и да избегну везивање за одређена имена, на пример, ако се планира да се име параметра промени у будућности.

    Ознака „/“ допуњује претходно додату „*“ заставицу, одвајајући променљиве за које је применљиво само додељивање у облику „променљива=вредност“. На пример, у функцији "деф ф(а, б, /, ц, д, *, е, ф):" променљиве "а" и "б" могу се доделити само редоследом у коме су вредности наведене ,
    променљиве „е“ и „ф“, само кроз додељивање „променљива=вредност“, и променљиве „ц“ и „д“ на било који од следећих начина:

    ф(10, 20, 30, 40, е=50, ф=60)
    ф(10, 20, с=30, д=40, е=50, ф=60)

  • Додато нови Ц АПИ
    да конфигуришете Питхон параметре иницијализације, омогућавајући потпуну контролу над свим конфигурацију и обезбеђивање напредних могућности за руковање грешкама. Предложени АПИ олакшава уграђивање функционалности Питхон интерпретера у друге Ц апликације;

  • Имплементирано нови Вецторцалл протокол за бржи приступ објектима написаним у Ц језику. У ЦПитхон-у 3.8 приступ Вецторцалл-у је и даље ограничен на интерну употребу, а прелазак у категорију јавно доступних АПИ-ја планиран је у ЦПитхон-у 3.9;
  • Додато позива Рунтиме Аудит Хоокс, који апликацијама и оквирима у Питхон-у пружају приступ информацијама ниског нивоа о напретку скрипте за ревизију извршених радњи (на пример, можете пратити увоз модула, отварање датотека, помоћу праћења, приступ мрежним утичницама, покретање кода преко екец, евал и рун_мод);
  • У модулу кисели краставац обезбеђено подршка за Пицкле 5 протокол, који се користи за серијализацију и десеријализацију објеката. Пицкле вам омогућава да оптимизујете пренос великих количина података између Питхон процеса у конфигурацијама са више језгара и више чворова смањењем броја операција копирања меморије и применом додатних техника оптимизације као што је коришћење алгоритама компресије специфичних за податке. Пета верзија протокола је значајна по додавању режима преноса ван опсега, у којем се подаци могу преносити одвојено од главног тока киселог лука.
  • Подразумевано је активирана четврта верзија Пицкле протокола, која, у поређењу са трећом верзијом која је раније била подразумевано понуђена, омогућава веће перформансе и смањење величине пренетих података;
  • У модулу куцање Уведено је неколико нових функција:
    • Класа ТипедДицт за асоцијативне низове у којима су информације о типу експлицитно специфициране за податке повезане са кључевима (“ТипедДицт('Поинт2Д', к=инт, и=инт, лабел=стр)”).
    • Тип Литерал, што вам омогућава да ограничите параметар или повратну вредност на неколико унапред дефинисаних вредности („Литерал['цоннецтед', 'дисцоннецтед']").
    • Конструкција "Завршни", што омогућава дефинисање вредности променљивих, функција, метода и класа које се не могу променити или поново доделити ("пи: Финал[флоат] = 3.1415926536").
  • Додата је могућност додељивања кеша за компајлиране датотеке са бајт кодом, сачуваних у посебном ФС стаблу и одвојених од директоријума са кодом. Путања за чување датотека са бајт кодом се поставља преко променљиве ПИТХОНПИЦАЦХЕПРЕФИКС или опцију "-Кс пицацхе_префик";
  • Имплементирано могућност креирања верзија за отклањање грешака за Питхон које користе АБИ идентичан издању, што вам омогућава да учитате екстензије написане на СИ језику, компајлиране за стабилна издања, у дебуг буилдовима;
  • ф-стрингови (форматирани литерали са префиксом 'ф') пружају подршку за оператор = (на пример, "ф'{екпр=}'"), који вам омогућава да конвертујете израз у текст ради лакшег отклањања грешака. На пример:

    ››› корисник = 'ериц_идле'
    ››› мембер_синце = датум(1975, 7, 31)
    ››› ф'{усер=} {мембер_синце=}'
    "усер='ериц_идле' мембер_синце=датетиме.дате(1975, 7, 31)"

  • Израз "наставити» дозвољено за коришћење унутар блока коначно;
  • Додат је нови модул мултипроцессинг.схаред_мемори, омогућавајући коришћење дељених меморијских сегмената у вишепроцесним конфигурацијама;
  • На Виндовс платформи, асинцио имплементација је премештена да користи класу ПроацторЕвентЛооп;
  • Перформансе инструкције ЛОАД_ГЛОБАЛ су повећане за приближно 40% због употребе новог механизма за кеширање објектног кода.

Извор: опеннет.ру

Додај коментар