Python 3.9 : quoi de neuf maintenant ? Fonctionnalités intéressantes à la caisse

Publié: 2020-12-01

Python est un langage préféré de tous les temps et le plus apprécié des développeurs. Selon l'indice Tiobe, une communauté de programmation qui classe les langages de programmation en fonction de leur popularité, Python a été classé deuxième devant Java. Python bénéficie d'un excellent support communautaire et, en raison de sa simplicité et de sa facilité d'utilisation, chaque débutant aspire à maîtriser au moins ce langage.

Alors que ce langage a saisi beaucoup de globes oculaires ces dernières années en trouvant son utilisation dans le domaine de l'analyse de données, de l'apprentissage automatique, du développement Web, des applications informatiques, de l'IOT ou d'autres domaines de développement, sa dernière version Python 3.9 stable a été publiée et apporte un beaucoup de changements de l'analyseur vers des fonctionnalités supplémentaires à changer dans la chronologie des versions des fonctionnalités. Regardons ces changements en détail :

Table des matières

Nouvel opérateur

Lorsque nous traitons des dictionnaires, il arrive très souvent que nous ayons besoin de les fusionner ou de les mettre à jour avec des entrées d'autres dictionnaires. Auparavant, cela pouvait être fait en utilisant l'attribut de mise à jour de l'objet dictionnaire : first_dict.update(second_dict) mais le problème avec cette approche est que les modifications sont effectuées sur place et que les valeurs d'origine sont modifiées.

Pour en faire un changement temporaire, une autre variable est nécessaire pour stocker la valeur précédente. Cette nouvelle version a introduit un nouvel opérateur appelé opérateur de fusion (|) qui peut être utilisé pour fusionner des dictionnaires. Voici un exemple de code pour comprendre ceci :

A = { "nom" : "Auteur", "entreprise" : "upGrad"}

B = { "statut" : "instructeur"}

imprimer (A|B)

Sortie : { "nom" : "Auteur", "entreprise" : "upGrad", "statut" : "instructeur"}

| est comme un opérateur de concaténation, mais si vous souhaitez mettre à jour la valeur d'origine, vous pouvez simplement utiliser l'opérateur |=. En reprenant l'exemple précédent, A |=B mettra à jour la valeur du dictionnaire A.

Lisez aussi: Salaire d'un développeur Python en Inde

Opérations sur les chaînes

La manipulation de texte constitue une partie importante du cycle de vie de la science des données, en particulier pendant le NLP. Il existe différentes fonctions pour effectuer différents types d'opérations de chaîne telles que le fractionnement, la concaténation, le remplacement et bien d'autres. Rejoignant cet héritage, deux nouvelles opérations ont été ajoutées qui sont removesuffix() et removeprefix().

Comme leur nom l'indique, ils sont utilisés pour supprimer les préfixes et les suffixes d'une chaîne. Ils sont accessibles en utilisant l'objet string. Cette suppression peut être facilement effectuée à l'aide d'expressions régulières et du découpage des chaînes, mais nous avons maintenant cette fonctionnalité dans les bibliothèques intégrées. Voici un exemple simple à des fins d'illustration :

'@something_new'.removeprefix('@')

'quelque chose_231'.removesufix('231')

Sortir:

Quelque chose de nouveau

quelque chose_

Module de fuseau horaire modifié

Cette version a également introduit un nouveau module nommé zone info prenant en charge la base de données IANA dans la bibliothèque standard. Nous pouvons spécifier le fuseau horaire dans l'objet DateTime de la bibliothèque standard, mais l'utilisateur peut finir par créer des règles complexes pour les fuseaux horaires. Conformément à la PEP 615, la base d'utilisateurs est plus encline aux principaux fuseaux horaires tels que UTC, IANA ou le fuseau horaire local du système. Vous pouvez maintenant créer un objet d'information de zone en spécifiant le chemin de recherche de configuration qui est de la forme "continent/ville". Par exemple,

depuis zoneinfo importer ZoneInfo

à partir de la date et de l'heure d'importation de la date et de l'heure

dt = datetime(2020, 11, 15, 01, tzinfo=ZoneInfo(“Asie/Kolkata”))

dt.tzname()

Sortie : 'IST'

En savoir plus sur : Principaux outils Python

Nouvelles fonctions mathématiques

Le module de mathématiques comprend toutes les opérations numériques utilisées en mathématiques générales. Qu'il s'agisse de fonctions sinus, cosinus, d'arrondir des nombres à des endroits spécifiques ou de constantes universelles telles que pi ou exponentielle, le module mathématique couvre presque tous les types de fonctions.

Trois nouvelles fonctions ont été ajoutées à cette liste et il y a math.lcm(), math.nextafter(), math.ulp(). Alors que le LCM (Least Common Multiple) est une fonction très couramment utilisée, les deux autres ne sont pas autant utilisées. Auparavant, nous devions créer explicitement une fonction pour le fonctionnement de LCM, mais maintenant, à partir de cette nouvelle version, nous avons une fonctionnalité intégrée dans la bibliothèque standard. Pour utiliser cette fonction, appelez simplement :

importer des mathématiques

math.lcm(2,3)

Sortie : 6

Si aucun argument n'est passé dans cette fonction, elle renvoie 1 et si l'un d'eux est zéro, elle renvoie 0.

Analyseur haute performance

Outre tous les nouveaux ajouts au niveau des fonctionnalités, l'analyseur de langage Python est également mis à jour avec une nouvelle technologie plus rapide connue sous le nom d'analyseur PEG. Cet effet ne se reflétera pas dans cette version mais dans le prochain Python 3.10. Depuis le jour où Python a été créé, il utilise l'analyseur LL(1) qui analyse le code de haut en bas et de gauche à droite. Cet analyseur est basé sur une grammaire sans contexte et il est donc ambigu, ce qui signifie que les chaînes peuvent avoir plus d'un arbre d'analyse et augmenter le nombre d'étapes intermédiaires. Le nouvel analyseur PEG ne génère qu'un seul AST (Abstract Syntax Trees) valide supprimant l'ambiguïté de l'analyseur précédent.

Nouvelle fonction aléatoire et modification du cycle de publication

Dans le module random.random, une nouvelle méthode randbytes(n) a été ajoutée qui renvoie n octets aléatoires. Il est très similaire à d'autres fonctions aléatoires. Auparavant également, Python publiait une nouvelle version tous les 18 mois, qui a été réduite à 12 mois.

Obtenez une certification en science des données des meilleures universités du monde. Apprenez les programmes Executive PG, les programmes de certificat avancés ou les programmes de maîtrise pour accélérer votre carrière.

Conclusion

Chaque fois qu'une nouvelle version du logiciel sort, elle s'accompagne de beaucoup de nouveaux changements. Ici, nous avons discuté de certains des changements majeurs et mis en évidence dans Python, notamment un nouvel opérateur, des fonctionnalités ajoutées et un analyseur amélioré.

Il y a beaucoup de nouveaux changements dans d'autres modules également tels que ast, asyncio, concurrent.futures, multiprocessing, XML. Certaines fonctions ont été dépréciées et la liste est longue. Vous pouvez consulter la documentation officielle pour une liste complète des mises à jour dans le nouveau Python 3.9.

Si vous êtes curieux d'en savoir plus sur python, la science des données, consultez le diplôme PG de IIIT-B & upGrad en science des données qui est créé pour les professionnels en activité et propose plus de 10 études de cas et projets, des ateliers pratiques, un mentorat avec des experts de l'industrie, 1-on-1 avec des mentors de l'industrie, plus de 400 heures d'apprentissage et d'aide à l'emploi avec les meilleures entreprises.

Pourquoi Python est-il préféré aux autres langages de codage ?

Il existe de nombreuses raisons pour lesquelles Python est préféré aux autres langages. Premièrement, les codes de Python sont lisibles et compris même par des développeurs qui ne les ont jamais écrits auparavant. Python est courant dans la communauté scientifique, et de nombreux chercheurs et professeurs font partie des utilisateurs de Python. Les codes créés sur Python peuvent être partagés, copiés et modifiés par les développeurs. De plus, Python a une communauté forte et évolue rapidement puisqu'il s'agit d'un langage de programmation libre et ouvert. Python est compatible avec une large gamme de systèmes. Cela aide les développeurs car ils ne sont pas confrontés aux difficultés qui prévalent dans d'autres langages.

Quelle est l'utilité de math.nextafter() et math.ulp() en Python ?

Nextafter() et ulp() sont deux nouvelles fonctions ajoutées à la bibliothèque mathématique de Python 3.9.0. La fonction nextafter() renvoie la prochaine valeur flottante après x dans la direction de y. Si x est égal à y, la valeur y est renvoyée. Sa syntaxe est math.nextafter(x, y), où x et y sont deux nombres entiers/valeurs à virgule flottante. ULP est une abréviation signifiant Unité à la Dernière Place. ULP est l'espace entre les valeurs à virgule flottante en analyse numérique et en informatique. La fonction math.ulp() renvoie la valeur du bit le moins significatif du flottant x. Sa syntaxe est mathématique ulp(x), et l'argument à saisir, x, doit être un flottant, dont ulp doit être renvoyé.

Qu'est-ce que l'analyseur en Python ?

Lors de l'étape d'analyse syntaxique, un compilateur examine si oui ou non les jetons créés par l'analyseur lexical sont organisés selon les règles syntaxiques du langage. Un analyseur est responsable de cela. L'analyseur obtient une chaîne de jetons de l'analyseur lexical et valide que la chaîne correspond à la grammaire de la langue source. Tous les problèmes de syntaxe sont détectés et signalés, et un arbre d'analyse est produit à partir duquel les développeurs peuvent générer du code intermédiaire. En outre, le module d'analyseur communique avec l'analyseur interne de Python et le compilateur de code octet. L'objectif principal de cette interface est de permettre aux codes Python de modifier les arbres d'analyse d'une expression Python et de générer des codes fonctionnels à partir de celle-ci.