Maison >développement back-end >Tutoriel Python >nouvelles fonctionnalités de python3.8

nouvelles fonctionnalités de python3.8

藏色散人
藏色散人original
2020-01-13 11:21:374266parcourir

nouvelles fonctionnalités de python3.8

Nouvelles fonctionnalités de python3.8

La version stable de Python 3.8 est sortie et le site officiel a publié un article présentant les nouvelles fonctionnalités. Les articles en vedette sont enregistrés ici.

Nouvel opérateur d'affectation:=

Fonction : Attribue une partie de la valeur dans une expression plus grande à une variable, car elle ressemble à yeux et dents d'un morse, l'opérateur := a un nom spécial : Walrus Operator

Exemple 1 :

if (n := len(a)) > 10:    print(f"List is too long ({n} elements, expected <= 10)")

utilise := pour éviter d'appeler len() deux fois.

Nouveau symbole de syntaxe (paramètres de position uniquement) /

Fonction : Indique que les paramètres de certaines fonctions doivent être spécifiés en position et ne peuvent pas être utilisés comme paramètres de mots-clés.

Exemple

def f(a, b, /, c, d, *, e, f):    print(a, b, c, d, e, f)

Dans cet exemple, les paramètres a et b sont des paramètres de position uniquement, tandis que c ou d peuvent être des paramètres de position uniquement ou des paramètres de mot-clé, e et f doivent être un argument de mot-clé.

Nouveau paramètre PYTHONPYCACHEPREFIX (-X pycache_prefix)

Fonction : configurez le cache de bytecode implicite pour utiliser une arborescence de système de fichiers parallèle distincte au lieu de dans Utilisez le sous-répertoire pycache par défaut dans chaque répertoire source.

Les versions de débogage partagent ABI avec les versions de version

f string new support = spécificateur pour les expressions auto-documentées et le débogage

f string est une chaîne littérale formatée, introduite dans Python 3.6 et devenue très populaire.

Un nouveau support pour le spécificateur = est ajouté cette fois dans la v3.8.

>>> user = &#39;eric_idle&#39;>>> member_since = date(1975, 7, 31)>>> f&#39;{user=} {member_since=}&#39;"user=&#39;eric_idle&#39; member_since=datetime.date(1975, 7, 31)"
>>> delta = date.today() - member_since>>> f&#39;{user=!s}  {delta.days=:,d}&#39;&#39;user=eric_idle  delta.days=16,075&#39;

PEP 578 : Hooks d'audit d'exécution Python / Hooks d'audit d'exécution

PEP ajoute des hooks d'audit et des hooks ouverts de vérification. Les deux versions sont disponibles en Python et en code natif, permettant aux applications et aux frameworks écrits en code Python pur de profiter des notifications supplémentaires, tout en permettant également aux intégrateurs ou aux administrateurs système de toujours activer l'audit.

PEP 587 : Configuration de l'initialisation Python

PEP 587 ajoute une nouvelle API C pour configurer l'initialisation Python, offrant un meilleur contrôle sur l'ensemble de la configuration et un meilleur rapport d'erreurs.

Autres

continue peut enfin apparaître légalement dans le bloc final:

Sous Windows, la boucle d'événements asynchrone (asyncio) par défaut a été modifiée à ProactorEventLoop

Sur macOS, la méthode de démarrage du spawn est ajoutée au multitraitement par défaut

Le multitraitement peut désormais utiliser des segments de mémoire partagée pour éviter la surcharge de cornichon entre les processus

typed_ast est fusionné ; de retour dans CPython ;

LOAD_GLOBAL est désormais 40 % plus rapide ;

pickle utilise désormais le protocole 4 par défaut, améliorant les performances

De nombreusesvidéos de formation Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn