Selon la feuille de route de développement (PEP-478), Python 3.5 est prévu pour la sortie officielle le 13/09 (probablement heure des États-Unis). .. Une version supplémentaire candidate (rc4) a été [publiée] le 9/9 (https://www.python.org/downloads/release/python-350rc4/), qui est peut-être un peu en retard, mais probablement Il sortira d'ici une semaine. J'ai donc fait un résumé en japonais des changements dans Python 3.5 + un commentaire. L'histoire originale est «Summary --Release Highlights» au début de ici.
Pour essayer Python3.5, téléchargez les dernières versions candidates à partir de ici. Ou si vous utilisez pyenv, vous pouvez facilement l'installer avec pyenv install
, mais la dernière version de pyenv v20150901 ne prend en charge que jusqu'à rc2, vous devez donc l'accepter ou récupérer pyenv depuis HEAD. Si vous utilisez un homebrew, cela ressemble à ceci.
brew uninstall pyenv #Si déjà installé
brew install pyenv --HEAD
pyenv install 3.5.0rc4
Comme prévu, 3.5.0 a été publié. Pour être honnête, je ne m'attendais pas à venir si tôt.
pyenv a également été mis à jour immédiatement vers 20150913, avec la version 3.5.0 officiellement prise en charge. C'est déjà sur Homebrew. Tout le monde travaille vite! Donc, si vous voulez l'essayer, tout va bien.
brew install pyenv #Ou si vous l'avez installé, mettez à niveau le café
pyenv install 3.5.0
Ajout de la spécification proposée dans PEP-465 pour permettre l'écriture de la multiplication matricielle sous la forme de ʻa @ b`. .. La chose étrange est que la bibliothèque standard ne fournit pas une implémentation qui l'utilise, seulement les spécifications. Au lieu de cela, certaines bibliothèques externes, telles que numpy, ont annoncé une prise en charge.
Ajout de spécifications pour définir et utiliser les corroutines proposées dans PEP-492. Jusqu'à présent, il était possible de créer une routine cor en utilisant Generator, mais afin de le rendre plus facile à comprendre, les mots-clés async et await ont été introduits et les spécifications ont été développées.
Une extension d'expansion de valeur utilisant «*» et «**» comme proposé dans PEP-448. Il peut être utilisé plusieurs fois comme argument de fonction comme print (* [1], * [2], 3)
, ou il peut être utilisé dans des tapples, des listes et des dictionnaires comme [* range (4), 4]
. Sera.
zipapp
Python a la capacité d'exécuter du code python zippé. De plus, depuis la v2.6! C'est un gaspillage d'avoir une fonctionnalité spéciale qui n'est pas utilisée sans que personne ne le sache (je ne le savais même pas!), Il y a donc une suggestion pour faciliter l'utilisation [PEP-441](https: //www.python. L'outil qui a été créé dans org / dev / peps / pep-0441 /) est zipapp. Nous appellerons le code Python renforcé Zip "Python Zip Application" et fournirons des fonctions pour le créer.
Jusqu'à présent, je pourrais faire quelque chose comme "% 04x "% 10
, mais le résultat est de type str. Une extension qui lui permet d'être un type d'octets sous la forme de b"% 04x "% 10
.
Vous pourrez faire des choses comme b '\ xf0 \ x9f \ x90 \ x8d'.hex ()
.
Il semble que vous pourrez indexer avec tuple pour accéder aux éléments d'un tableau multidimensionnel (matrice).
Je n'ai pas vraiment compris la nécessité de cela ...
Type de RuntimeError qui se produit lorsque le nombre maximal de récursives est dépassé.
Exception levée à la fin d'une répétition avec Iterable asynchrone créé par async for.
Lorsque LC_TYPE est la locale POSIX (locale C), sys.stdin et sys.stdout utiliseront désormais des gestionnaires d'erreur d'échappement de substitution au lieu de gestionnaires d'erreur stricts.
Lors de l'exécution de Python avec l'option -O ou -OO, les résultats de la compilation d'octets optimisés étaient stockés dans un fichier .pyo au lieu d'un .pyc. À partir de Python 3.5, il sera supprimé et stocké dans un fichier .pyc, et le niveau d'optimisation sera décrit dans le nom du fichier (par exemple, xxx.cpython-35.opt-1.pyc) (PEP-488)
Jusqu'à présent, les modules et extensions intégrés ont été générés et initialisés à la fois. Cela prend la forme de générer la génération d'abord pour tous les modules, puis d'exécuter le code d'initialisation comme d'autres modules. (PEP-489)
collections.OrderedDict a été réimplémenté en C, 4 à 100 fois plus vite!
Le type Bytes peut également être utilisé avec des arguments qui ne peuvent être passés qu'avec le type str (spécification de préfixe, etc.). Vous pourrez également spécifier Aucun.
Ajout du support Memory BIO. Cette modification permet de séparer le traitement du protocole SSL du traitement réel d'E / S Socket.
Ajout de classes TracebackException, StackSummary et FrameSummary plus légères
Functools.lru_cache a été fourni en tant que décorateur pour mettre en cache les résultats des appels de fonction, mais il a été réimplémenté en C.
Il peut être rendu disponible en utilisant ssl.SSLContext, mais il a été complètement supprimé de la bibliothèque standard. Ce changement a également été rétroporté vers la v3.4 et la v2.7. Ce serait une solution de contournement pour le problème de vulnérabilité SSLv3 appelé POODLE Attack. ..
Analyse stricte des cookies pour éviter les attaques par injection.
Deux types sont disponibles: un programme d'installation Web qui télécharge les fichiers nécessaires à partir d'un petit programme d'installation au moment de l'installation et un programme d'installation hors ligne qui comprend tous les composants standard. Il existe respectivement une version 32 bits et une version 64 bits.
Python 3.5 pour Windows a été construit avec MSVC ++ 14.0 et l'extension doit également être compilée avec lui.
En plus de ceux présentés ci-dessus, Quoi de neuf dans Python 3.5 a divers changements. S'il y a quelque chose qui semble intéressant ou utilisable, j'adorerais le récupérer.
Recommended Posts