Maison >développement back-end >Tutoriel Python >Quelle version est la plus récente, python2 ou python3 ?

Quelle version est la plus récente, python2 ou python3 ?

anonymity
anonymityoriginal
2019-06-11 15:10:122420parcourir

Python2 ou Python3 ?

py2.7 est la dernière version de la série 2.x. Le développement a été arrêté et aucune nouvelle fonctionnalité ne sera ajoutée. Fin du support en 2020.

Toutes les dernières mises à jour et améliorations de la bibliothèque standard n'apparaîtront que dans la version 3.x.

Quelle version est la plus récente, python2 ou python3 ?

Python 3.0 est sorti en 2008, et 2.7 est la version finale de 2.X et continue d'être maintenu.

L’idée de Guido van Rossum n’est pas d’assurer une rétrocompatibilité avec la version 2.7.

L'amélioration la plus significative de Python 3.x est une meilleure prise en charge d'Unicode, toutes les chaînes de texte sont Unicode par défaut. Dans Python 2.x, une erreur sera signalée lors de l'écriture directe du chinois, mais dans Python 3, le chinois peut être écrit directement.

Du point de vue des projets open source, la proportion de supports py3 a été considérablement augmentée. Les projets bien connus prennent généralement en charge py2.7 et py3+.

py3 est plus standardisé et unifié que py2, et les mots-clés inutiles sont supprimés.

Python3.x continue de s'améliorer.

Principaux changements dans Python 3.x

Méthodes et performances de codage

Efficacité d'exécution plus rapide

Le codage ASCII du fichier source par défaut a été modifié en UTF-8, et le codage=utf-8 ajouté avant que le fichier ne soit plus nécessaire

Le traitement de l'Unicode a été considérablement amélioré, et l'efficacité a été considérablement améliorée

Les types de données et les opérations de base

int et long sont unifiés et unifiés en int

Vrai, Faux et Aucun sont tous des mots-clés

B'...' doivent être utilisés pour représenter des données binaires, u'..' peut être utilisé pour représenter une chaîne, ou une chaîne peut être représentée sans u

Supprimez le signe d'inégalité <> et utilisez "! =" indique la relation de signe d'inégalité

Ajustez l'utilisation du symbole de division '/', ne renvoyez que des nombres à virgule flottante, pour renvoyer des entiers, utilisez "// "

a un seul type str, son type est équivalent à l'unicode de 2.x, toutes les chaînes de 3.x sont unicode

Changements de plage et de dict

Dans 2.x, range sera différent de xrange Créez une liste. Il apparaît souvent dans les boucles for, les dictionnaires et les listes. Cependant, xrange a été renommé range dans 3.x. L'utilisation de xrange dans 3.x déclenchera une erreur. En même temps, range renvoie un objet itérable au lieu d'une liste. Si vous souhaitez obtenir des données de liste à partir du résultat de la plage, vous devez utiliser list(range(5))

dict.iterkeys(), dict.itervalues ​​(), dict.iteritems() est remplacé par keys() et values() et items(). Leurs résultats renvoyés sont des objets itérables similaires à des ensembles, plutôt que des listes de paires clé-valeur. Ainsi, l'opération set peut être effectuée sur les entrées clé et valeur sans les copier

Iterator

range renvoie un objet itérable en python3, pas une liste, économise de la mémoire dans la mesure du possible

zip(), map(), filter(), key(), value() renvoient tous des objets itérables

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