Python és un llenguatge d'alt nivell de programació
Després d'un any de desenvolupament, es va donar a conèixer el llançament la versió estable i també de l'inici de la fase de proves alfa, del llenguatge de programació 3.12 Python i Python 3.13 (respectivament) . S'esmenta que aquesta nova branca de Python 3.12 rebrà suport durant un any i mig, després del qual, durant tres anys i mig més, es generaran correccions per eliminar vulnerabilitats.
La nova versió que es presenta de Python 3.12 arriba amb millores a la flexibilitat de l'anàlisi de f-strings. Amb aquesta millora ara és possible deixar de banda moltes restriccions, ja que per exemple ara es pot contenir qualsevol expressió vàlida a Python, incloses expressions multilínia, comentaris, barres invertides i seqüències d'escapament Unicode. A més, els strings interns ara permet reutilitzar les mateixes cometes és a dir, les cometes dobles ara es poden reutilitzar a l'interior sense haver de canviar a cometes simples.
Per exemple:
f"""{f'''{f'{f"{1+1}"}'}'''}"""
Ara és possible niar de manera arbitrària:
f"{f"{f"{f"{f"{f"{1+1}"}"}"}"}"}"
Un altre dels canvis que es destaca, és el suport per a subintèrprets aïllats i bloquejos globals separats, els quals arriben per augmentar l'eficiència de l'ús de recursos en sistemes multinucli, ja que per a diferents intèrprets dins d'un procés CPython permet executar diversos intèrprets alhora en un procés. En la seva forma actual, la funció actualment només està disponible a través de C-API (la compatibilitat amb l'API de Python apareixerà a la següent branca important).
A més, també es destaca que se ha augmentat el contingut informatiu dels missatges derror i s'ha ampliat la gamma d'excepcions, oferint recomanacions per eliminar errors tipogràfics. Per exemple, ara es mostren recomanacions per importar mòduls de biblioteca estàndard oblidats i suggeriments per afegir el prefix self
S'ha afegit la capacitat d'utilitzar el protocol de memòria intermèdia al codi Python. Les classes que proporcionen un mètode » __buffer__() » ara es poden utilitzar com a tipus que operen directament amb dades binàries a la memòria.
el mòdul sys.monitoring es proposa per a la depuració i creació de perfils, el que us permet monitoritzar esdeveniments a CPython com trucades, retorns de funcions, execució de línies arbitràries de codi, excepcions i transicions amb una sobrecàrrega mínima.
L'intèrpret implementa suport per al subsistema de rendiment del nucli de Linux, que permet determinar els noms de les funcions de Python en crear perfils utilitzant la utilitat de rendiment (anteriorment, només els noms de les funcions de C es determinaven als seguiments).
Per la part de les millores de rendiment, s'esmenta que es va continuar amb les optimitzacions, amb la qual s'ha obtingut un guany total de rendiment que s'estima en un 5%, així mateix es va afegir suport experimental per a l'optimitzador binari BOLT al procés de compilació, cosa que augmenta el rendiment entre un 1 i un 5 %, mentre que el rendiment del paquet asyncio ha millorat significativament (algunes proves mostren una acceleració del 75%).
S'ha implementat l'expansió en línia de les llistes per comprensió, cosa que accelera el treball amb llistes per comprensió fins a dues vegades (per al codi que utilitza activament llistes per comprensió, les proves van mostrar un augment general del rendiment de l'11%).
Per millorar la seguretat, les implementacions integrades de els algorismes SHA1, SHA3, SHA2-384, SHA2-512 i MD5 a hashlib s'han reemplaçat amb opcions formalment verificades del projecte HACL* (les implementacions integrades només s'utilitzen si OpenSSL no està disponible).
Dels altres canvis que es destaquen:
- El mòdul us ha ampliat el suport per a Windows.
- Python implementa protecció contra desbordament de pila.
S'ha accelerat la creació de la classe asyncio.Task. - La mida dels objectes Unicode s'ha reduït entre 8 i 16 bytes.
- S'han accelerat les operacions amb expressions regulars re.sub(), re.subn() i re.Pattern.
- L'execució de comprovacions isinstance() per a alguns protocols s'ha accelerat de 2 a 20 vegades.
- Significativament (en algunes proves fins a un 64%) s'han accelerat les funcions tokenize.tokenize() i tokenize.generate_tokens().
- S'ha accelerat la càrrega d'atributs i la crida al mètode super().
- S'ha proposat una sintaxi nova d'anotació de tipus més compacta per a classes i funcions genèriques
- El mòdul del navegador web ja no admet navegadors més antics, inclosos Grail, Mosaic, Netscape, Galeon, Skipstone, Iceape, Firebird i Firefox fins a la versió 36.
- En preparació per a futures optimitzacions, s'ha canviat la representació interna dels nombres enters.
Per últim i no menys important, com s'esmento, s'han iniciat les proves alfa de Python 3.13, en què va aparèixer un mode de compilació CPython sense un bloqueig dʻintèrpret global (GIL, Global Interpreter Lock).
la branca Python 3.13 estarà en versió alfa durant set mesos, durant els quals s'afegiran noves característiques i es corregiran errors d'acord amb el nou cronograma de desenvolupament, el treball en una nova branca comença cinc mesos abans del llançament de la branca anterior i de moment de la propera versió arriba a l'etapa de prova alfa.
Després d'això, les versions beta es provaran durant tres mesos, durant els quals es prohibirà afegir noves funcions i es prestarà tota l'atenció a corregir errors. Durant els dos darrers mesos abans de l'alliberament, la sucursal estarà a l'etapa de candidat a alliberament, en què es realitzarà l'estabilització final.
Finalment sí estàs interessat a poder conèixer més sobre això, Pots consultar els detalls al següent enllaç.