Python este un limbaj de programare de nivel înalt.
După un an de dezvoltare, A fost anunțată lansarea versiunii stabile și, de asemenea, începutul fazei de testare alfa a limbajului de programare Python 3.12 și Python 3.13 (respectiv). Se menționează că această nouă ramură a lui Python 3.12 va fi susținută timp de un an și jumătate, după care, pentru încă trei ani și jumătate, vor fi generate corecții pentru eliminarea vulnerabilităților.
Noua versiune de Python 3.12 care este prezentată vine cu îmbunătățiri ale flexibilitatea analizei f-string. Cu această îmbunătățire acum multe restricții pot fi lăsate deoparte, deoarece, de exemplu, acum puteți conține orice expresie validă în Python, inclusiv expresii cu mai multe linii, comentarii, bare oblice inverse și secvențe de escape Unicode. În plus, șirurile interne permit acum reutilizarea acelorași ghilimele, adică ghilimele duble pot fi acum reutilizate în interior fără a fi nevoie să se schimbe la ghilimele simple.
De exemplu:
f"""{f'''{f'{f"{1+1}"}'}'''}"""
Acum este posibil să cuibăriți în mod arbitrar:
f"{f"{f"{f"{f"{f"{1+1}"}"}"}"}"}"
O altă dintre schimbările care se remarcă este suport pentru subinterpreți izolați și blocări globale separate, care au scopul de a crește eficiența utilizării resurselor în sistemele multicore, deoarece pentru diferiți interpreți dintr-un proces CPython permite mai multor interpreți să ruleze în același timp într-un proces. În prezent, funcția este disponibilă în prezent numai prin C-API (suportul API-ului Python va apărea în următoarea ramură majoră).
Pe lângă aceasta, se subliniază și faptul căConținutul informativ al mesajelor de eroare a fost crescut iar gama de excepții a fost extinsă, oferind recomandări pentru eliminarea erorilor de tipar. De exemplu, sugestiile pentru importarea modulelor standard uitate ale bibliotecii și sugestiile pentru prefixarea „self” sunt acum afișate.
S-a adăugat posibilitatea de a utiliza protocolul buffer în codul Python. Clasele care oferă o metodă „__buffer__()” pot fi acum utilizate ca tipuri care operează direct pe date binare din memorie.
Modulul sys.monitoring este propus pentru depanare și profilare, permițându-vă să monitorizați evenimente în CPython, cum ar fi apeluri, returnări de funcții, execuție de linii arbitrare de cod, excepții și tranziții cu o suprasarcină minimă.
Interpretul implementează suport pentru subsistemul de performanță a nucleului Linux, care permite ca numele funcțiilor Python să fie determinate la crearea profilului folosind utilitarul de performanță (anterior, numai numele funcțiilor C erau determinate în urme).
În ceea ce privește îmbunătățirile de performanță, se menționează că optimizările au continuat, cu care S-a obținut un câștig total de performanță estimat la 5%., s-a mai adăugat suport experimental pentru optimizatorul binar BOLT la procesul de construire, crescând performanța cu 1-5%, în timp ce performanța pachetului asyncio s-a îmbunătățit semnificativ (unele teste arată o accelerare de 75%).
A fost implementată extinderea în linie a înțelegerii listelor, ceea ce accelerează lucrul cu înțelegerea listelor de până la două ori (pentru codul care utilizează în mod activ înțelegerea listelor, testarea a arătat o creștere generală a performanței de 11%).
Pentru a îmbunătăți securitatea, implementări încorporate ale Algoritmii SHA1, SHA3, SHA2-384, SHA2-512 și MD5 din hashlib au fost înlocuiți cu opțiuni verificate oficial din proiectul HACL* (implementările încorporate sunt utilizate numai dacă OpenSSL nu este disponibil).
Dintre alte schimbări care ies în evidență:
- Modulul are suport extins pentru Windows.
- Python implementează protecția la supraîncărcare a stivei.
Crearea clasei asyncio.Task a fost accelerată. - Dimensiunea obiectelor Unicode a fost redusă cu 8 până la 16 octeți.
- Operațiile cu expresii regulate re.sub(), re.subn() și re.Pattern au fost accelerate.
- Rularea verificărilor isinstance() pentru unele protocoale a fost accelerată de 2 până la 20 de ori.
- În mod semnificativ (în unele teste până la 64%), funcțiile tokenize.tokenize() și tokenize.generate_tokens() au fost accelerate.
- Încărcarea atributelor și apelarea metodei super() au fost accelerate.
- O nouă sintaxă de adnotare de tip mai compact a fost propusă pentru clasele și funcțiile generice.
- Modulul browser web nu mai acceptă browsere mai vechi, inclusiv Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird și Firefox până la versiunea 36.
- În pregătirea optimizărilor viitoare, reprezentarea internă a numerelor întregi a fost modificată.
Nu în ultimul rând, după cum am menționat, a început testarea alfa a Python 3.13, în care a apărut un mod de compilare CPython fără o blocare globală a interpretului (GIL, Global Interpreter Lock).
Ramura Python 3.13 va fi în alfa timp de șapte luni, timp în care vor fi adăugate noi caracteristici și bug-urile remediate conform noului program de dezvoltare, lucrul la o nouă ramură începe cu cinci luni înainte de lansarea ramurii anterioare și până când următoarea versiune ajunge în stadiul de testare alfa.
După aceasta, versiunile beta vor fi testate timp de trei luni, timp în care adăugarea de noi funcții va fi interzisă și toată atenția va fi acordată remedierii erorilor. În ultimele două luni înainte de eliberare, filiala se va afla în stadiul de candidat la eliberare, unde va avea loc stabilizarea finală.
În cele din urmă da sunteți interesat să aflați mai multe despre asta, puteți verifica detaliile în următorul link.