Python: la premire version bta est publie avec une API C pour amliorer la configuration de l’initialisation

Python: la premire version bta est publie avec une API C pour amliorer la configuration de l'initialisation 1
La version 3.8.0 du langage de programmation Python est encore en dveloppement, mais compte tenu de son calendrier, lquipe de dveloppement du langage a lanc la phase bta et a donc publi hier la premire version bta de Python 3.8.0. Comme toute nouvelle version, elle apporte de nouvelles fonctionnalits, en plus de quelques corrections de bogues. Lquipe sattend ce que les responsables de projets Python procdent au test de cette version bta et signaler les ventuels problmes quils pourraient rencontrer afin de faciliter la publication finale sans dfauts majeurs de la version 3.8.0.Le dbut de la publication de la version 3.8.0 de Python tant prvu pour la fin du mois de septembre de cette anne, lquipe de dveloppement du langage a lanc hier la phase test. La premire version bta de Python 3.8.0 apporte de nombreuses nouvelles fonctionnalits au langage, notamment les expressions daffectation, une nouvelle API C pour configurer linitialisation Python, des paramtres 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 dfaut pour amliorer encore plus les performances.

Lquipe de dveloppement du langage a introduit dans cette version des expressions daffection un peu diffrentes de celles qui existaient dj dans Python. Introduit par le PEP 572, il sagit dune 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 dviter des calculs rpts. cet effet, une nouvelle exception, TargetScopeError, a t ajoute et un changement a t apport l’ordre d’valuation. Dans la note de version de version, il est indiqu quactuellement, cette fonctionnalit n’est disponible que sous forme d’instruction, ce qui la rend indisponible dans les comprhensions de liste et les autres contextes d’expression.

Python: la premire version bta est publie avec une API C pour amliorer la configuration de l'initialisation 2

Python 3.8.0b1 embarque une nouvelle API C amliore pour configurer linitialisation du langage. Lajout de cette API C pour configurer linitialisation Python offre un contrle plus prcis de lensemble de la configuration et un meilleur rapport derreurs. Il devient possible de lire la configuration, puis de remplacer certains paramtres calculs avant son application. Il devient galement possible de remplacer compltement la faon dont Python calcule les chemins de recherche du module (sys.path). La nouvelle configuration isole fournit des valeurs par dfaut saines pour isoler Python du systme. Par exemple, incorporer Python dans une application. L’utilisation de l’environnement constitue dsormais une option d’adhsion plutt qu’une option de dsinscription. Par exemple, les variables d’environnement, les arguments de ligne de commande et les variables de configuration globale sont ignors par dfaut.

L’API C de l’initialisation Python 3.7 prend en entre les chanes wchar_t *, alors que l’encodage du systme de fichiers Python est dfini pendant l’initialisation, ce qui peut entraner mojibake . Notez cependant que mojibake est un emprunt lexical du japonais qui signifie que les caractres affichs l’cran d’un logiciel ne s’affichent pas correctement, cause d’un problme de codage. En langage courant et face lment illisible le franais dira je vois des hiroglyphes . Ces nouveauts visent donc amliorer le comportement et les dfauts de lAPI C observ dans les versions prcdentes de Python.

Python 3.8 fournit dsormais les structures PyConfig, PyPreConfig, PyStatus et PyWideStringList dans la nouvelle API amliore, qui ont des fonctions communes pour dfinir des paramtres individuels ainsi que pour lire et effacer la configuration. Les dveloppeurs peuvent lire et craser les paramtres calculs avant d’appliquer la configuration. Comme cela a t expliqu un peu plus haut, une autre nouveaut propos de lAPI est la possibilit de crer une configuration isole du systme l’aide de PyPreConfig_InitIsolatedConfig() et PyConfig_InitIsolatedConfig() qui ignore les variables de configuration et d’environnement globales, ainsi que les paramtres de ligne de commande.

Une autre fonctionnalit mise en avant dans cette version 3.8.0 est les paramtres de position dans la dfinition de fonctions Python. Le PEP 570 introduit une nouvelle syntaxe / pour spcifier des paramtres de position uniquement dans les dfinitions de fonction Python. Les paramtres de position uniquement n’ont pas un nom utilisable en externe. Lorsqu’une fonction acceptant des paramtres uniquement positionnels est appele, les arguments positionnels sont mapps sur ces paramtres uniquement en fonction de leur ordre.

Mme si la proposition dfinit une nouvelle syntaxe, les paramtres de position uniquement existent dj dans les fonctions intgres dans CPython, comme dans pow(x, y (, z)). La syntaxe propose dans le PEP 570 tend la prcdente et est donc totalement compatible avec les versions antrieures. Les paramtres purement dtermins par la position peuvent tre au dbut d’une liste de paramtres et suivie d’un / pour le marquage. Ensuite, vous pouvez dabord suivre les paramtres spcifiques la position ou aux mots cls, et aprs la division * la fin, les paramtres spcifiques aux mots cls.

Il existe de nombreuses autres fonctionnalits qui ont t publies avec cette premire prversion de Python 3.8.0 que vous pourrez consulter par lintermdiaire de sa note de version. On pourrait citer, par exemple, les crochets daudit lexcution, la fusion de typed_ast avec CPython, LOAD_GLOBAL a t rendu 40 % fois plus rapide et pickle a t configur pour maintenant utiliser le protocole 4 par dfaut pour amliorer encore plus les performances. Lautre chose noter peut-tre est que sur Mac OS, la mthode Spawn Start est maintenant utilise par dfaut dans multiprocessing.

Vous pouvez essayer cette premire prversion de Python 3.8.0 et rapporter les ventuels problmes lquipe de dveloppement en attendant la publication de la deuxime prversion prvue pour le 1er juillet prochain. Cependant, il est galement possible que les nombreuses fonctionnalits qui seront prsentes pendant la phase de test soient modifies ou, dans de rares cas, supprimes jusqu’au dbut de la phase de publication (2019-09-30).

Source : Python

Et vous ?

Python: la premire version bta est publie avec une API C pour amliorer la configuration de l'initialisation 3 Qu’en pensez-vous ?

Voir aussi

Python: la premire version bta est publie avec une API C pour amliorer la configuration de l'initialisation 3Windows 10 : Python 3.7 peut dsormais tre tlcharg sur Microsoft Store. Microsoft prvient que cette version est encore en cours d’valuation

Python: la premire version bta est publie avec une API C pour amliorer la configuration de l'initialisation 3

Guido Van Rossum, le crateur de Python, rend en partie responsables les mdias sociaux de sa dmission de la direction du projet

Python: la premire version bta est publie avec une API C pour amliorer la configuration de l'initialisation 3Python va supprimer les termes « master/slave » de sa documentation et sa base de code pour des raisons de diversit et leur connotation l’esclavage

Source link

Auteur de l’article : james

Laisser un commentaire