Python 3.14 est arrivé avec le support T-String
Agence web » Actualités du digital » Python 3.14 est arrivé avec le support T-String

Python 3.14 est arrivé avec le support T-String

Python 3.14 est officiellement là et apporte un mélange de modifications au langage de base, aux tripes de l'interpréteur et à la bibliothèque standard. Il s'agit de mises à jour majeures telles que les littéraux de chaîne de modèles, l'évaluation différée des annotations et même la prise en charge officielle des sous-interprètes dans la bibliothèque standard.

Python obtient des littéraux de chaîne de modèle, ou t-strings. Ceux-ci utilisent la syntaxe f-string familière (échangez simplement le « f » contre un « t » comme ceci : t'Mister {name}'), mais au lieu de combiner immédiatement le texte statique et vos valeurs interpolées dans un seul objet str, ils renvoient un objet Template. Il sépare essentiellement les parties statiques et variables de la chaîne au moment de l'exécution. Ce nouvel objet est incroyablement utile pour nettoyer les entrées de l'utilisateur, comme s'assurer qu'une chaîne est sûre pour le HTML ou une requête de base de données.

        variety = 'Stilton'

template = t'Try some {variety} cheese!'

type(template)

La façon dont les annotations de type (comme le : str que vous mettez sur un argument de fonction) sont gérées a complètement changé avec l'évaluation différée. Les annotations ne sont plus évaluées immédiatement. Cela signifie qu'il n'est plus nécessaire d'envelopper les annotations dans des chaînes pour éviter NameError pour les références directes.

Ce qui m'intéresse le plus, c'est que l'interprète devient encore plus utile avec des messages d'erreur améliorés. Si vous faites une faute de frappe courante dans un mot-clé, comme taper « while » au lieu de while, l'interprète vous proposera désormais le mot-clé correct. Vous recevrez également des messages d'erreur spécifiques en cas de syntaxe confuse, comme un bloc elif suivant un bloc else. Ces petits changements seront une bouée de sauvetage pour le débogage.

L’un des thèmes les plus importants de Python 3.14 est la recherche de vitesse et d’une meilleure gestion des systèmes multicœurs modernes. Pour ceux d'entre vous qui effectuent des travaux lourds et gourmands en CPU, la version free-thread de Python, qui était expérimentale dans la version 3.13, est désormais officiellement prise en charge. Cela signifie que la pénalité de performances sur le code monothread en mode freethread est désormais réduite à environ 5 à 10 %, ce qui constitue une amélioration significative. L'objectif est d'utiliser pleinement les processeurs multicœurs, afin que vous puissiez faire évoluer vos applications sans les limitations du Global Interpreter Lock.

Une fonctionnalité qui n'était auparavant accessible que via l'API C est désormais disponible dans la bibliothèque standard via le nouveau module concurrent.interpreters. Pensez-y comme si vous obteniez l’isolation des processus avec l’efficacité des threads. Il permet de créer de nouveaux modèles de concurrence conviviaux, comme le modèle d'acteur, ce qui constitue un avantage considérable pour faciliter la mise en œuvre et la maintenance des logiciels concurrents. Il existe encore quelques limitations mineures à mesure que cette fonctionnalité se généralise, comme des temps de démarrage plus lents pour les nouveaux interprètes, alors ne vous attendez pas à ce qu'elle soit encore parfaite.

Le nouveau package de compression est là et il apporte un module dédié au format Zstandard, compression.zstd. Zstandard est connu pour être un format de compression largement adopté, très efficace et rapide. Il utilise une API similaire aux modules lzma et bz2 existants, cela devrait donc être un jeu d'enfant.

Le débogage du code asynchrone peut être un casse-tête, c'est pourquoi Python 3.14 ajoute de nouveaux outils de ligne de commande pour l'introspection asyncio. Vous pouvez désormais inspecter les processus en cours avec python -m asyncio ps PID pour obtenir une liste plate de tâches, ou utiliser pstree pour une arborescence visuelle d'appels asynchrones. Ceci est très utile pour déterminer où votre programme est bloqué et comment vos coroutines sont enchaînées.

Vous pouvez télécharger Python depuis son site Web ou GitHub

★★★★★