Free Traffic Exchange

Python: la premiere version beta est publie avec une API C pour améliorée la configuration de l’initialisation 2019

Python: la premiere version beta est publie avec une API C pour améliorée la configuration de l’initialisation

python apiLa version 3.8.0 du langage de programmation Python est encore en développement, mais compte tenu de son calendrier, l’équipe de développement du langage a lance la phase beta et a donc public hier la première version beta de Python 3.8.0. Comme toute nouvelle version, elle apporte de nouvelles fonctionnalités, en plus de quelques corrections de bogues. L’équipe s’attend ce que les responsables de projets Python procèdent au test de cette version beta et signaler les éventuels problèmes qu’ils pourraient rencontrer afin de faciliter la publication finale sans défauts majeurs de la version 3.8.0.Le début de la publication de la version 3.8.0 de Python tant prévu pour la fin du mois de septembre de cette année, l »équipe de développement du langage a lance hier la phase test. La première version beta de Python 3.8.0 apporte 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 types_ast avec CPython, LOAD_GLOBAL est maintenant 40 % fois plus rapide et pickles utilise maintenant le protocole 4 par défaut pour améliorée encore plus les performances.L’équipé de développement du langage a introduit dans cette version des expressions d’affection un peu différentes de celles qui existaient déjà dans Python. Introduit par le PEP 572, il s’agit 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 d’éviter des calculs répétés. cet effet, une nouvelle exception, Target Scope Error, a t ajoute et un changement a t apport l’ordre d’valuation. Dans la note de version de version, il est indique 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.

Python 3.8.0b1 embarque une nouvelle API C améliore pour configurer l’initialisation du langage. L’ajoute de cette API C pour configurer l’initialisation Python offre un contrôle plus précis de l’ensemble de la configuration et un meilleur rapport d’erreurs. Il devient possible de lire la configuration, puis de remplacer certains paramètres calculs avant son application. Il devient également possible de remplacer complètement la faon dont Python calcule les chemins de recherche du module (sys.path). La nouvelle configuration isole fournit des valeurs par défaut saines pour isoler Python du système. Par exemple, incorporer Python dans une application. L’utilisation de l’environnement constitue désormais une option d’adhésion plutôt qu’une option de désinscription. Par exemple, les variables d’environnement, les arguments de ligne de commande et les variables de configuration globale sont ignores par défaut.

L’API C de l’initialisation Python 3.7 prend en entre les chaines wchar_t *, alors que l’encodage du système de fichiers Python est défini pendant l’initialisation, ce qui peut entraîner . Notez cependant que moji bake est un emprunt lexical du japonais qui signifie que les caractères affiches l’ecran d’un logiciel ne s’affichent pas correctement, cause d’un problème de codage. En langage courant et facilement illisible le francais dira je vois des hiéroglyphe . Ces nouveautés visent donc améliorer le comportement et les défauts de lAPI C observe dans les versions précédentes de Python.

Python 3.8 fournit désormais les structures PyConfig, PyPreConfig, PyStatus et PyWideStringList dans la nouvelle API améliore, qui ont des fonctions communes pour définir des paramètres individuels ainsi que pour lire et effacer la configuration. Les développeurs peuvent lire et crasser les paramètres calculs avant d’appliquer la configuration. Comme cela a t explique un peu plus haut, une autre nouveauté propos de l’API est la possibilité de creer une configuration isole du système l’aide de PyPreConfig_InitIsolatedConfig() et PyConfig_InitIsolatedConfig() qui ignore les variables de configuration et d’environnement globales, ainsi que les paramètres de ligne de commande.

Une autre fonctionnalité mise en avant dans cette version 3.8.0 est les paramètres de position dans la définition de fonctions Python. Le PEP 570 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 uniquement n’ont pas un nom utilisable en externe. Lorsqu’une fonction acceptant des paramètres uniquement positionnels est appelle, les arguments positionnels sont mappes sur ces paramètres uniquement en fonction de leur ordre.

Mme si la proposition définit une nouvelle syntaxe, les paramètres de position uniquement existent deja dans les fonctions intègres dans CPython, comme dans pow(x, y (, z)). La syntaxe propose dans le PEP 570 tend la précédente et est donc totalement compatible avec les versions antérieures. Les paramétrées purement déterminés par la position peuvent etres au début d’une liste de paramètres et suivie d’un / pour le marquage. Ensuite, vous pouvez d’abord suivre les paramètres spécifiques la position ou aux mots cles, et après la division * la fin, les paramètres spécifiques aux mots cles.

Il existe de nombreuses autres fonctionnalités qui ont t publies avec cette première perversion de Python 3.8.0 que vous pourrez consulter par l’intermédiaire de sa note de version. On pourrait citer, par exemple, les crochets d’audit l’exécution, la fusion de typed_ast avec CPython, LOAD_GLOBAL a t rendu 40 % fois plus rapide et pickles a t configure pour maintenant utiliser le protocole 4 par defaut pour améliorer encore plus les performances. L’autre chose noter peut-tre est que sur Mac OS, la méthode Spawn Start est maintenant utilise par défaut dans multiprocessing.

Vous pouvez essayer cette première preversion de Python 3.8.0 et rapporter les éventuels problèmes l’equipe de développement en attendant la publication de la deuxième préversion prevue pour le 1er juillet prochain. Cependant, il est également possible que les nombreuses fonctionnalités qui seront présentes pendant la phase de test soient modifies ou, dans de rares cas, supprimes jusqu’au debut de la phase de publication (2019-09-30).

Source : Python

Et vous ?

Qu’en pensez-vous ?

 

One Comment

Add a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *