Python estas altnivela interpretita programlingvo, kies filozofio emfazas la legeblecon de sia kodo.
Post jaro da disvolviĝo, la nova versio de la programlingvo Python 3.11 estis publikigita, la nova branĉo estos subtenata dum jaro kaj duono, post kiuj diakiloj kun vundeblecoj estos formitaj por aliaj tri jaroj kaj duono.
Samtempe komenciĝis alfa-testado de la branĉo Python 3.12 (laŭ la nova disvolva horaro, laboro sur nova branĉo komenciĝas kvin monatojn antaŭ la liberigo de la antaŭa branĉo kaj atingas alfa-testadon antaŭ la venonta versio).
La branĉo Python 3.12 estos en alfa-eldonoj dum sep monatoj, dum kiuj novaj funkcioj estos aldonitaj kaj cimoj riparitaj. Post tio, beta-testado okazos dum tri monatoj, dum kiuj la aldono de novaj funkcioj estos malpermesita kaj plena atento estos donita al cimoj korektoj. La lastajn du monatojn antaŭ lanĉo, la branĉo estos en la lanĉa kandidatstadio, ĉe kiu punkto fina stabiligo okazos.
Ĉefaj novaj funkcioj de Python 3.11
En ĉi tiu nova versio Grava laboro estis farita por optimumigi rendimenton, ĉar la nova branĉo inkluzivas rilatajn ŝanĝojn kun akcelo kaj enlinia deplojo de funkciovokoj, la uzo de rapidaj interpretistoj de tipaj operacioj, same kiel optimumigoj preparitaj de la projektoj Cinder kaj HotPy. Depende de la tipo de ŝarĝo, la rapido de ekzekuto de kodo pliiĝas inter 10% kaj 60%. Averaĝe, rendimento dum trapaso de la pyperformance testsuit pliiĝis je 25%.
La kaŝmemormekanismo estis restrukturita de bajtokodo, kiu reduktis interpretiston lanĉan tempon je 10-15%. Objektoj kun kodo kaj bajtokodo nun estas statike asignitaj fare de la interpretisto, kio ebligis elimini la paŝojn de malimplikado de bajtokodo alportitaj el la kaŝmemoro kaj konvertado de objektoj kun kodo por meti ilin en amasmemoron.
Aldonita subteno por esceptgrupoj, kiu donas al la programo la kapablon levi kaj prilabori plurajn malsamajn esceptojn samtempe. Novaj esceptotipoj ExceptionGroup kaj BaseExceptionGroup estas proponitaj por grupigi plurajn esceptojn kune, kaj la esprimo "krom* " estas aldonita por apartigi esceptojn de grupo.
Aldonis specialan tipon LiteralString tiel sola povas inkluzivi laŭvortajn ĉenojn kiuj estas kongruaj kun la tipo LiteralString (tio estas, nudaj ŝnuroj kaj ŝnuroj de tipo LiteralString, sed ne arbitraj aŭ miksitaj ŝnuroj de tipo str). La LiteralString-tipo povas esti uzata por limigi la transdonon de ĉenaj argumentoj al funkcioj, arbitra anstataŭigo de partoj de ĉenoj kie ĝi povas konduki al vundeblecoj, ekzemple, kiam oni generas ĉenojn por SQL-demandoj aŭ ŝelkomandoj.
Krom tio, ankaŭ la kapablo marki individuajn elementojn de vortaroj estas disponigita (TypedDict) kun Bezonata kaj Ne Bezonata flagoj por determini postulatajn kaj laŭvolajn kampojn (defaŭlte, ĉiuj deklaritaj kampoj estas postulataj se la totala parametro ne estas agordita al Falsa).
Aldonita @dataclass_transform klaso, metodo kaj funkcio dekoraciisto, kiam specifite, la senmova tipkontrolilo traktas la objekton kvazaŭ uzante la @dataclasses.dataclass dekoraciilon.
El la aliaj ŝanĝoj, kiuj elstaras en ĉi tiu nova versio:
- Aldonita la kapablo uzi atomgrupigon ((?>...)) kaj ĵaluza (posesivaj) kvantigiloj (*+, ++, ?+, {m,n}+) en regulaj esprimoj.
- La TypeVarTuple-tipo estis aldonita, kiu permesas la uzon de variaj generikoj, male al TypeVar, kiu kovras ne unu tipon, sed arbitran nombron da tipoj.
- La norma biblioteko inkluzivas la tomllib-modulon kun funkcioj por analizi la TOML-formaton.
- La metodo add_note() estis aldonita al la klaso BaseException, kiu permesas tekstan noton esti alfiksita al la escepto, ekzemple por aldoni kuntekstan informon, kiu ne estis disponebla en la momento, kiam la escepto estis ĵetita.
- Speciala tipo Mem estis aldonita por reprezenti la nunan privatan klason. Mem povas esti uzata por komenti metodojn, kiuj resendas ekzemplon de via klaso en pli simpla maniero ol uzi TypeVar.
- Aldonita "-P" komandlinia opcio kaj PYTHONSAFEPATH mediovariablo por malŝalti aŭtomatan konekton de eble nesekuraj dosiervojoj al sys.path.
- La ilo py.exe por la Vindoza platformo estis signife plibonigita por subteni la sintakson "-V:". / " Aldone al "- . ».
- Multaj C API-makrooj estis konvertitaj al regulaj aŭ senmovaj enliniaj funkcioj
- La uu, cgi, pipes, crypt, aifc, chunk, msilib, telnetlib, audioop, nis, sndhdr, imghdr, nntplib, spwd, xdrlib, cgitb, mailcap, ossaudiodev, kaj sunau-moduloj estis malrekomenditaj kaj estos forigitaj de Python. 3.13 eldono.
- Forigitaj funkcioj PyUnicode_Encode*.
- La TaskGroup-klaso estis aldonita al la asyncio-modulo kun la efektivigo de nesinkrona kunteksta administranto, kiu atendas ke la taskgrupo finiĝos.
- Aldono de taskoj al grupo estas farita per la metodo create_task().
Fine se vi interesiĝas scii pli pri ĝi, vi povas kontroli la detalojn en la sekva ligilo.
Estu la unua por komenti