Emva konyaka kunye nesiqingatha sophuhliso ukukhutshwa kolwimi lwenkqubo enkulu . Uhlaziyo olulungileyo lwePython 3.8 yesebe ukukhululwa kwiinyanga ezili-18. Ubuthathaka obubalulekileyo buya kulungiswa iminyaka emi-5 kude kube ngu-Okthobha wama-2024. Uhlaziyo oluchanekileyo lwesebe le-3.8 luya kukhutshwa rhoqo emva kweenyanga ezimbini, kunye nokukhululwa kokuqala kokulungiswa kwePython 3.8.1 ecwangciselwe uDisemba.
Phakathi kokongezwayo :
- imisebenzi yezabelo ngaphakathi kweentetho ezinzima. Ngomsebenzi omtsha ":=", kuyenzeka ukwenza imisebenzi yexabiso ekwabelwana ngayo ngaphakathi kwamanye amabinzana, umzekelo, ukunqanda ukufowuna okuphindiweyo kwiingxelo ezinemiqathango naxa uchaza iilophu:
ukuba (n := len(a)) > 10:
...ngelixa (ibhloko := f.read(256)) != ":
... - Isivakalisi esitsha sokuchaza iimpikiswano zomsebenzi. Xa ubala iimpikiswano ngexesha lenkcazo yomsebenzi, ngoku ungakhankanya i "/" ukwahlula iingxoxo ezinokwabelwa amaxabiso kuphela ngokusekelwe kulandelelwano apho amaxabiso abalwa khona ngexesha lomsebenzi womnxeba, ukusuka kwiimpikiswano ezinokwabelwa. nangaluphi na ulandelelwano (i-variable=value syntax) ). Kwicala elisebenzayo, into entsha ivumela imisebenzi kwiPython ukuba ilandele ngokupheleleyo ukuziphatha kwemisebenzi ekhoyo kwi-C, kunye nokuphepha ukubophelela kumagama athile, umzekelo, ukuba igama leparameter licetywa ukuba litshintshwe kwixesha elizayo.
Iflegi ethi “/” incedisana neflegi ethi “*” eyongeziweyo ngaphambili, okwahlula izinto ezahlukeneyo apho kuphela isabelo esikwimo ethi “variable=value” isetyenziswa. Umzekelo, kumsebenzi othi "def (a, b, /, c, d, *, e, f):" iinguqu "a" kunye no "b" zingabelwa kuphela ngolandelelwano amaxabiso adweliswe kuwo. ,
Izinto eziguquguqukayo “e” kunye “f”, kuphela ngesabelo “variable=value”, kunye notshintsho “c” kunye “d” ngayo nayiphi na kwezi ndlela zilandelayo:f(10, 20, 30, 40, e=50, f=60)
f(10, 20, s=30, d=40, e=50, f=60) - entsha C API
ukuqwalasela iiparamitha zokuqalisa zePython, ukuvumela ulawulo olupheleleyo phezu kwayo yonke into kunye nokubonelela ngezibonelelo zokuphatha iimpazamo. I-API ecetywayo yenza kube lula ukubethelela ukusebenza kwetoliki yePython kwezinye izicelo zeC; - Iprothokholi entsha yeVectorcall yokufikelela ngokukhawuleza kwizinto ezibhalwe ngolwimi lwe-C. Kwi-CPython 3.8, ukufikelela kwi-Vectorcall kusakhawulelwe kusetyenziso lwangaphakathi, ukudluliselwa kwinqanaba le-APIs ezifumanekayo esidlangalaleni kucwangciswe kwi-CPython 3.9;
- iifowuni kwi-Runtime Audit Hooks, ebonelela ngezicelo kunye nezicwangciso kwiPython ngokufikelela kulwazi olusezantsi malunga nenkqubela phambili yeskripthi ukuphicotha izenzo ezenziweyo (umzekelo, unokulandelela ukungeniswa kweemodyuli, ukuvula iifayile, usebenzisa umkhondo, ukukhangela iimodyuli, iimodyuli zokuvula, ukusebenzisa umkhondo. ukufikelela kwiisokethi zenethiwekhi, ukuqhuba ikhowudi nge-exec, eval kunye ne-run_mod);
- Kwimodyuli inkxaso yeprothokholi yePickle 5, esetyenziselwa ukulinganisa kunye nokususa izinto. I-Pickle ikuvumela ukuba ukwandise ukugqithiswa kwedatha enkulu phakathi kweenkqubo zePython kwi-multi-core kunye ne-multi-node configuration ngokunciphisa inani lemisebenzi yokukopisha imemori kunye nokusebenzisa iindlela zokuphucula ezongezelelweyo ezifana nokusebenzisa idatha-specific compression algorithms. Inguqu yesihlanu yeprotocol iyaphawuleka ukongezwa kwendlela yokuhanjiswa kwe-out-of-band, apho idatha inokudluliselwa ngokwahlukileyo kwi-pickle stream enkulu.
- Ngokungagqibekanga, inguqu yesine yeprotocol yePickle ivuliwe, leyo, xa kuthelekiswa nenguqulo yesithathu enikezelwa ngaphambili, ivumela ukusebenza okuphezulu kunye nokunciphisa ubungakanani bedatha edlulisiweyo;
- Kwimodyuli Ziliqela izinto ezintsha eziveziweyo:
- I klasi kuluhlu oludityanisiweyo apho ulwazi lohlobo luchazwe ngokucacileyo kwidatha ehambelana nezitshixo (“TypedDict(‘Point2D’, x=int, y=int, label=str)”).
- Uhlobo , ekuvumela ukuba unciphise iparamitha okanye ubuyisele ixabiso kumaxabiso achazwe kwangaphambili (“Literal[‘iqhagamshelwe’, ‘iqhawulwe’]”).
- Ulwakhiwo "", eyenza kube lula ukuchaza ixabiso lezinto eziguquguqukayo, imisebenzi, iindlela kunye neeklasi ezingenako ukutshintshwa okanye ukunikezelwa kwakhona ("pi: Final[float] = 3.1415926536").
- Kongezwe amandla okunika i-cache yeefayile ezihlanganisiweyo nge-bytecode, zigcinwe kumthi owahlukileyo weFS kwaye zahlulwe kubalawuli abanekhowudi. Umendo wokugcina iifayile nge-bytecode usetelwe ngokuguquguquka okanye ukhetho "-X pycache_prefix";
- ukukwazi ukwenza i-debug builds yePython esebenzisa i-ABI efana nokukhululwa, ekuvumela ukuba ulayishe izandiso ezibhalwe ngolwimi lwe-SI, eziqulunqwe ukukhutshwa okuzinzileyo, kwi-debug builds;
- Imitya ka-f (imibhalo yamagama efomathiweyo ne prefixed ngo 'f') ibonelela ngenkxaso kumsebenzisi = (umzekelo, "f'{expr=}'"), ekuvumela ukuba uguqule imbonakalo yokubhaliweyo ukuze kube lula ukulungisa ingxaki. Umzekelo:
››› umsebenzisi = 'eric_idle'
››› ilungu_ukususela = umhla (1975, 7, 31)
››› f'{umsebenzisi=} {ilungu_ukususela=}'
“umsebenzisi=’eric_idle’ member_since=datetime.date(1975, 7, 31)” - Inkcazo "» Ivumelekile ukuba isetyenziswe ngaphakathi kwebhloko ;
- Imodyuli entsha yongeziwe , ivumela ukusetyenziswa kwamacandelo ememori ekwabelwana ngayo kuqwalaselo lwe-multiprocess;
- Kwiplatifomu yeWindows, ukuphunyezwa kwe-asyncio kuhanjiswe ukusebenzisa iklasi ;
- Ukusebenza komyalelo we-LOAD_GLOBAL wonyuswe malunga ne-40% ngenxa yosetyenziso lwendlela entsha yekhowudi yekhowudi yesixhobo.
umthombo: opennet.ru
