Le développement de la version 3.8.0 du langage de programmation Python tend vers sa fin et la version stable est prévue pour être livrée en octobre. Python 3.8.0 est la dernière version du langage Python et introduit un nombre important de nouvelles fonctionnalités pour les programmeurs. La première et la deuxième version bêta de Python 3.8.0 ont été publiées respectivement en juin et juillet de cette année. Selon l'équipe, ces deux bêtas sont très proches de la version finale qui sera livrée en octobre. Ainsi, quelles sont les fonctionnalités les plus susceptibles d’être publiées avec la version 3.8.0 de Python ?La première version bêta de Python 3.8.0, Python 3.8.0b1, a été publiée dans la première semaine du mois de juin, donnant un aperçu des nouvelles fonctionnalités prévues pour langage. La première version bêta de Python 3.8.0 a introduit de nombreuses nouvelles fonctionnalités au langage, notamment les expressions d’affectation, une nouvelle API C pour configurer l’initialisation Python, des paramètres de position, la fusion de typed_ast avec CPython, LOAD_GLOBAL est maintenant 40 % fois plus rapide et pickle utilise maintenant le protocole 4 par défaut pour améliorer encore plus les performances.
La deuxième version bêta de Python 3.8.0 a été publiée au début de ce mois avec des améliorations importantes au niveau de la première version bêta. Après deux versions bêta, l’équipement du développement de Python 3.8.0 s’est dit proche d’une version stade et a donc proposé une liste des fonctionnalités les plus probantes de la version finale qui sera livrée en octobre prochain. Voici listées ci-dessous quelques-unes des fonctionnalités présentées par l’équipe de développement du langage :
L’opérateur de morse « := »
Cet opérateur a été introduit depuis la première version bêta. Introduit par le PEP 572, il s’agit d’une fonctionnalité qui permet d'affecter des variables dans une expression en utilisant la notation « NAME := expr ». Cela permet de rendre le code plus compact et d’éviter des calculs répétés. À cet effet, une nouvelle exception, TargetScopeError, a été ajoutée et un changement a été apporté à l'ordre d'évaluation. Dans la note de version, il est indiqué qu’actuellement, cette fonctionnalité n'est disponible que sous forme d'instruction, ce qui la rend indisponible dans les compréhensions de liste et les autres contextes d'expression.
Dans sa nouvelle présentation, l’équipe de développement de Python 3.8.0 a indiqué que l'utilisation de « := » dans une instruction « if » ou « while » permet d'affecter une valeur à une variable tout en la testant. Il est destiné à simplifier des choses comme les correspondances de modèles multiples. Ces utilisations, ainsi que d’autres (par exemple, dans la compréhension de listes et de dictées) aident à clarifier l’intention du programmeur. C'est une fonctionnalité que beaucoup d'autres langages ont, mais selon l’équipe, Python est bien sûr passé à côté de cela depuis près de 30 ans à ce stade. « En fin de compte, il s’agit en fait d’un changement assez modeste pour tout le tumulte qu’il a causé », ont-ils expliqué. De plus, l’équipe considère l’opérateur de morse comme la principale fonctionnalité de cette version 3.8.0 de Python. Elle rappelle cependant que l’opérateur de morse a également été la fonctionnalité la plus controversée pendant la phase de développement.
Les paramètres de position uniquement
Depuis Python 3.8.0b1, le PEP 570 a introduit une nouvelle syntaxe « / » pour spécifier des paramètres de position uniquement dans les définitions de fonction Python. Les paramètres de position n'ont pas un nom utilisable en externe. Lorsqu'une fonction acceptant des paramètres uniquement positionnels est appelée, les arguments positionnels sont mappés sur ces paramètres uniquement en fonction de leur ordre. Une fonction peut n'accepter que les arguments *args et **kwargs , puis appliquer la condition selon laquelle kwargs est vide, mais cela masque ce que la fonction tente de faire.
Même si la proposition définit une...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.