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.
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 unicodeChangements 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 copierIterator
range renvoie un objet itérable en python3, pas une liste, économise de la mémoire dans la mesure du possiblezip(), map(), filter(), key(), value() renvoient tous des objets itérablesCe 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!