Emva konyaka wophuhliso ukukhutshwa kolwimi lwenkqubo ebalulekileyo . I-Python 3.9 yayiyeyokuqala ukukhululwa emva projekthi kwi ukulungiswa kunye nenkxaso yokukhutshwa. Ukukhutshwa okukhulu okutsha ngoku kuya kwenziwa kube kanye ngonyaka, kwaye uhlaziyo lolungiso luya kukhutshwa rhoqo kwiinyanga ezimbini. Isebe ngalinye elibalulekileyo liya kuxhaswa kangangonyaka onesiqingatha, kuze emva koko kuphuhliswe eminye iminyaka emithathu enesiqingatha ukuze lilungise ubuthathaka.
Umsebenzi kwisebe elitsha ngoku uqalisa kwiinyanga ezintlanu ngaphambi kokukhululwa kwesebe elilandelayo, okt. ngokuhambelana nokukhutshwa kwePython 3.9 Uvavanyo lwealpha lwePython 3.10 yesebe. Isebe lePython 3.10 liya kuba kukukhutshwa kwe-alpha kangangeenyanga ezisixhenxe, apho izinto ezintsha ziya kongezwa kwaye iziphene zilungiswe. Emva koku, iinguqulelo ze-beta ziya kuvavanywa iinyanga ezintathu, apho ukongeza amanqaku amatsha kuya kuthintelwa kwaye yonke ingqalelo iya kuhlawulwa ukulungisa iziphene. Kwiinyanga ezimbini zokugqibela ngaphambi kokukhululwa, isebe liya kuba likwinqanaba lokukhululwa, apho kuya kwenziwa uzinzo lokugqibela.
kwiPython 3.9:
- Kwizichazi-magama ezichazwe kusetyenziswa iklasi ye-dict eyakhelwe-ngaphakathi, inkxaso yokudibanisa abasebenzi "|" kunye "|=" nohlaziyo, oluxhasa i- {**d1, **d2} kunye ne-dict.hlaziya iindlela ezicetyiweyo ngaphambili zokudityaniswa kwezichazi-magama.
>>> x = {"isitshixo1": "ixabiso1 ukusuka ku-x", "isitshixo2": "ixabiso2 ukusuka ku-x"}
>>> y = {"isitshixo2": "ixabiso2 ukusuka ku-y", "isitshixo3": "ixabiso3 ukusuka ku-y"}>>> x | y
{'isitshixo1': 'ixabiso1 ukusuka ku-x', 'isitshixo2': 'ixabiso2 ukusuka ku-y', 'isitshixo3': 'ixabiso3 ukusuka ku-y'}>>> yi | x
{'isitshixo2': 'ixabiso2 ukusuka ku-x', 'isitshixo3': 'ixabiso3 ukusuka ku-y', 'isitshixo1': 'ixabiso1 ukusuka ku-x'} - Ingqokelela eyakhelwe-ngaphakathi yeentlobo ibandakanya uluhlu, i-dict, kunye ne-tuple, enokusetyenziswa njengeentlobo zesiseko ngaphandle kokungenisa kwimodyuli yokuchwetheza. Ezo. endaweni yokuchwetheza.Uluhlu, chwetheza.Dict kunye nokuchwetheza.Tuple ongayichaza ngoku
dwelisa nje, dict kunye ne-tuple:def greet_all(amagama: uluhlu[str]) -> Akukho:
kwigama emagameni:
print("Molo", igama) - izixhobo eziguquguqukayo zemisebenzi yochazo kunye neenguqu. Ukufakela ama-annotations, uhlobo olutsha lwe-Annotated longezwe kwimodyuli yokuchwetheza, ukwandisa iintlobo ezikhoyo kunye nemethadatha eyongezelelweyo engasetyenziselwa uhlalutyo lwe-static okanye ukulungiswa kwexesha lokugijima. Ukufikelela kwimetadata kwikhowudi, i- include_extras parameter yongezwe kwindlela yokuchwetheza.get_type_hints().
charType = Annotated[int, ctype("char")] UnsignedShort = Annotated[int, struct2.ctype('H')]
- iimfuno zegrama kubahombisi - nayiphi na intetho elungele ukusetyenziswa ukuba kwaye ngelixa iibhloko ngoku zingasetyenziswa njengomhombi. Utshintsho luphucule kakhulu ukufundeka kwekhowudi yePyQt5 kwaye lwenza lula ukugcinwa kwale modyuli:
Yayiyi:
button_0 = amaqhosha[0] @button_0.clicked.connectNgoku ungabhala:
@amaqhosha[0].clicked.connect - Kwithala leencwadi elisemgangathweni imodyuli , ebandakanya ulwazi oluvela kwindawo yedatha ye-IANA yendawo yexesha.
>>> ukusuka zoneinfo yokungenisa ZoneInfo
>>> ukusuka kwixesha lokungenisa ngexesha, ixesha le-timedelta
>>> # Ixesha lasehlotyeni
>>> dt = ixesha (2020, 10, 31, 12, tzinfo=ZoneInfo("America/Los_Angeles"))
>>> shicilela (dt)
2020-10-31 12:00:00-07:00>>> dt.tzname()
'I-PDT'>>> # Ixesha eliqhelekileyo
>>> dt += timedelta(iintsuku=7)
>>> shicilela (dt)
2020-11-07 12:00:00-08:00>>> shicilela (dt.tzname ())
i-PST - Imodyuli eyongeziweyo yegraphlib, apho inkxaso yokuhlela kakuhle iigrafu.
- iindlela ezintsha zokususa izimaphambili kunye neziphelo zomgca - str.removeprefix(isiqalo) kunye ne-str.removesuffix(umamva). Iindlela zongezwe kwi-str, bytes, bytearray kunye neengqokelela.UserString objects.
>>> s = "FooBar"
>>> s.removeprefix("Foo")
'Ibha' - umchasi omtsha (I-Parsing Expression Grammar), ethathe indawo yesicazululi . Ukusetyenziswa kwesicazululi esitsha kwenze ukuba kube lula ukususa ezinye "ii-hacks" ezisetyenziselwa ukudlula izithintelo kwi-LL (1), kwaye zanciphisa kakhulu iindleko zabasebenzi zokugcina isahluli. Ngokubhekiselele kwindlela yokusebenza, isicazululi esitsha siphantse sibe kumgangatho ofanayo nowangaphambili, kodwa siphambi kwawo ngokuphawulekayo ngokuguquguquka, okukuvumela ukuba uzive ukhululekile xa uyila iimpawu zolwimi olutsha. Ikhowudi endala yokwahlulahlula igcinwa okwangoku kwaye inokubuyiselwa kusetyenziswa iflegi ethi "-X oldparser" okanye "PYTHONOLDPARSER=1" ukuguquguquka kwemekobume, kodwa iya kususwa ekukhutshweni kwe-3.10.
- amandla eendlela zokwandiswa kwe-C ukufikelela kwimeko yeemodyuli apho zichazwe khona ngokusebenzisa isalathisi esithe ngqo endaweni yokukhangela imeko yemodyuli usebenzisa umsebenzi wePyState_FindModule. Utshintsho lukuvumela ukuba ukwandise ukusebenza kweemodyuli ze-C ngokunciphisa okanye ukuphelisa ngokupheleleyo i-overhead yokujonga imeko yemodyuli. Ukunxulumanisa imodyuli neklasi, i-C-function PyType_FromModuleAndSpec () iyacetywa, ukufumana imodyuli kunye nesimo sayo, i-C-functions PyType_GetModule () kunye ne-PyType_GetModuleState () zindululiwe, kunye nokubonelela ngendlela yokufikelela eklasini. apho ichazwa khona, i-C-function PyCMethod kunye ne-METH_METHOD iflegi iyacetywa.
- Umqokeleli wenkunkuma ukusuka kwiingqokelela zokutshixa eziqulethe izinto ezivuselelweyo ezihlala zifikeleleka ngaphandle emva kokuba umgqibeli eqhuba.
- Indlela eyongeziweyo , evumela i-Linux kernel subsystem "pidfd" ukuba isetyenziswe ukuphatha imeko yokusetyenziswa kwakhona kwe-PID (pidfd inxulunyaniswe nenkqubo ethile kwaye ayitshintshi, ngelixa i-PID inokudityaniswa nenye inkqubo emva kokuba inkqubo yangoku edityaniswa naloo PID iphelisa. ).
- Inkxaso yenkcazo ye-Unicode ihlaziywe kwinguqulo ye-13.0.0.
- Iphelisiwe xa kuqaliswa kwakhona itoliki yePython kwinkqubo efanayo.
- Ukusebenza koluhlu lweentlobo ezakhelwe ngaphakathi, i-tuple, isethi, i-frozenset, uluhlu kunye ne-dict iye yalungiswa. ngokusebenzisa indlela emfutshane yeVectorcall yokufikelela ngokukhawuleza kwizinto ezibhalwe ngolwimi lweC.
- Iimodyuli _abc, audioop, _bz2, _codecs, _contextvars, _crypt, _functools, _json, _locale, operator, resource, ixesha kunye _weakref zilayishwa ukusuka .
- Iimodyuli zethala leencwadi eziqhelekileyo audioop, ast, grp, _hashlib, pwd, _posixsubprocess, random, khetha, struct, termios kunye nezlib ziguqulelwe ukuba zisebenzise umda. , esisombulula ingxaki yokusebenza kweendibano zeemodyuli zokwandiswa kweenguqu ezahlukeneyo zePython (xa uhlaziywa inguqu, akukho mfuneko yokuvuselela iimodyuli zokwandisa, kunye neemodyuli ezihlanganiswe kwi-3.9 ziya kukwazi ukusebenza kwisebe le-3.10).
- Imodyuli ye-asyncio ihoxisiwe inkxaso yeparamitha yedilesi kwakhona ngenxa yemibandela yokhuseleko enokwenzeka (usebenzisa i-SO_REUSEADDR ye-UDP kwi-Linux ivumela iinkqubo ezahlukeneyo ukuba zifake iisokethi zokumamela kwi-port ye-UDP).
- Ukulungiswa okutsha kongeziweyo, umzekelo, ukuphuculwa kwentsebenzo yabaphathi beempawu kwizicelo ezinemisonto emininzi, isantya esongeziweyo semodyuli ye-subprocess kwindawo ye-FreeBSD, kunye nokunikezelwa ngokukhawuleza kwezinto eziguquguqukayo zexeshana (ukunika ukuguquguquka kwintetho "ye-y in [expr ]” ngoku idlala njengo “y = expr” "). Ngokubanzi, iimvavanyo ezininzi ukwehla komsebenzi xa kuthelekiswa nesebe 3.8 (ukukhawuleza kujongwa kuphela kwiimvavanyo ze-writ_local and write_deque):
Uguqulelo lwePython 3.4 3.5 3.6 3.7 3.8 3.9
———————————Ukufikelela kokufunda okuguquguqukayo kunye nophawu:
funda_engingqi 7.1 7.1 5.4 5.1 3.9 4.0
funda_engekho 7.1 8.1 5.8 5.4 4.4 4.8
funda_ihlabathi jikelele 15.5 19.0 14.3 13.6 7.6 7.7
funda_isakhiwo 21.1 21.6 18.5 19.0 7.5 7.7
funda_classvar_from_class 25.6 26.5 20.7 19.5 18.4 18.6
funda_classvar_from_instance 22.8 23.5 18.8 17.1 16.4 20.1
funda_umzekelo 32.4 33.1 28.0 26.3 25.4 27.7
read_instancevar_slots 27.8 31.3 20.8 20.8 20.2 24.5
funda_igama thuple 73.8 57.5 45.0 46.8 18.4 23.2
funda_indlela yomda 37.6 37.9 29.6 26.9 27.7 45.9Ufikelelo lokubhala oluguquguqukayo kunye nophawu:
bhala_engingqi 8.7 9.3 5.5 5.3 4.3 4.2
bhala_engekho 10.5 11.1 5.6 5.5 4.7 4.9
bhala_ihlabathi jikelele 19.7 21.2 18.0 18.0 15.8 17.2
write_classvar 92.9 96.0 104.6 102.1 39.2 43.2
bhala_instancevar 44.6 45.8 40.0 38.9 35.5 40.7
write_instancevar_slots 35.6 36.1 27.3 26.6 25.7 27.7Ufikelelo lokufunda ubume bedatha:
funda_uluhlu 24.2 24.5 20.8 20.8 19.0 21.1
funda_deque 24.7 25.5 20.2 20.6 19.8 21.6
funda_umyalelo 24.3 25.7 22.3 23.0 21.0 22.5
funda_umqathango 22.6 24.3 19.5 21.2 18.9 21.6Ufikelelo lokubhala ubume bedatha:
bhala_uluhlu 27.1 28.5 22.5 21.6 20.0 21.6
bhala_deque 28.7 30.1 22.7 21.8 23.5 23.2
bhala_umyalelo 31.4 33.3 29.3 29.2 24.7 27.8
bhala_umyalelo 28.4 29.9 27.5 25.2 23.1 29.8Ukupakisha (okanye umgca) imisebenzi:
list_append_pop 93.4 112.7 75.4 74.2 50.8 53.9
deque_append_pop 43.5 57.0 49.4 49.2 42.5 45.5
deque_append_popleft 43.7 57.3 49.7 49.7 42.8 45.5Ixesha lexesha:
loop_overhead 0.5 0.6 0.4 0.3 0.3 0.3 - imisebenzi emininzi yePython 2.7 kunye neendlela eziye zayekiswa ngaphambili kwaye zakhokelela kwiSilumkiso sokuDeprecation kukhupho lwangaphambili, ukuquka indlela ye- unescape() kwi-html.parser.HTMLParser,
umtya () kunye nokusuka kumtya () kuluhlu. asyncio.Task.all_tasks(), base64.encodestring() kunye ne-base64.decodestring().
umthombo: opennet.ru
