Maison développement back-end Tutoriel Python Comparaison des versions et encodages Python 2 et Python 3

Comparaison des versions et encodages Python 2 et Python 3

Feb 17, 2017 am 11:52 AM

1. Comparaison des versions

La première chose à dire est que les versions Python sont actuellement principalement divisées en deux catégories :

La version Python 2.x s'appelle Python2 : C'est actuellement la les plus utilisés, comme Python 2.7.3.

La version de Python 3.x s'appelle Python3 : c'est la dernière version, comme Python 3.1. À long terme, cela peut être considéré comme une tendance future.

[La différence entre Python2 et Python3]

1. De Python2 à Python3, de nombreuses interfaces de fonctions de base ont changé, et même certaines bibliothèques ou fonctions ont été supprimées et renommées

Python2 et Python3, les interfaces ont changé dans de nombreuses fonctions de base et les plus couramment utilisées. La plus typique est la fonction d'impression la plus couramment utilisée.

2. En termes de prise en charge des bibliothèques tierces, Python2 est actuellement le mieux pris en charge, et Python3 n'est pas suffisamment pris en charge.

L'une des raisons pour lesquelles Python est puissant est qu'il existe. de nombreuses bibliothèques tierces, la fonction est très puissante.

Actuellement, de nombreuses bibliothèques tierces pour Python ne fournissent que Python2.

Ou même si Python3 est fourni, il n'est peut-être pas très mature.

2. Comparaison d'encodage

En Python, que ce soit Python2 ou Python3, de manière générale, il n'y a que deux catégories de caractères :

  1. Universel Caractères Unicode ; caractères

  2. (codés Unicode) d'un certain type de codage, tel que UTF-8, GBK et d'autres types de caractères.


Type de caractères en Python2 :

  • str : séquence d'octets codée

  • unicode : Caractères de texte avant encodage


Type de caractères en Python3 :

  • str : Caractères de texte unicode codés

  • octets : séquence d'octets avant l'encodage


Nous pouvons considérer les chaînes comme ayant deux états, l'état du texte et l'état de l'octet (binaire). Les deux types de caractères dans Python2 et Python3 correspondent respectivement à ces deux états, puis s'encodent et se décodent mutuellement. Le codage consiste à convertir une chaîne en bytecode, ce qui implique la représentation interne de la chaîne ; le décodage consiste à convertir le bytecode en chaîne et à afficher les bits en caractères.

Dans Python2, str et Unicode ont des méthodes d'encodage et de décodage. Cependant, il n'est pas recommandé d'utiliser encode pour str et decode pour unicode. Il s'agit d'un défaut dans la conception de Python2. Python3 a été optimisé. str n'a qu'une seule méthode d'encodage pour convertir une chaîne en bytecode, et bytes n'a qu'une seule méthode de décodage pour convertir le bytecode en chaîne de texte.

Str et Unicode de Python2 sont tous deux des sous-classes de basestring, donc les deux peuvent être directement épissés. En Python3, bytes et str sont deux types indépendants et ils ne peuvent pas être épissés.

En Python2, les caractères ordinaires entre guillemets sont str ; le type d'encodage de la chaîne à ce moment correspond à l'encodage dans lequel votre fichier Python lui-même est enregistré. Sur la plate-forme Windows la plus courante, la valeur par défaut est. GBK. En Python3, une chaîne entourée de guillemets simples ou doubles est déjà une chaîne de type Unicode.

Il y a quelques prérequis pour l'encodage de str :

  1. L'encodage correspondant a été déclaré au début du fichier Python

  2. Fichier Python Il est en effet enregistré en utilisant cet encodage

  3. Les types d'encodage des deux doivent être les mêmes (par exemple, les deux sont UTF-8 ou les deux sont GBK, etc. )


De cette façon, l'analyseur Python peut analyser correctement le texte dans la chaîne codée correspondante.

En général, en Python3, le problème d'encodage des caractères a été grandement optimisé, et il n'est plus aussi gênant qu'en Python2. Dans Python3, le texte est toujours Unicode, représenté par le type str, et les données binaires sont représentées par des octets str et les octets ne sont pas secrètement mélangés, ce qui rend la différence entre les deux plus évidente.


Résumé

Ce qui précède est l'intégralité du contenu de cet article. J'espère que le contenu de cet article pourra être utile à tout le monde dans l'apprentissage ou l'utilisation de Python. vous pouvez laisser un message pour communiquer, merci à tous pour votre soutien au site PHP chinois.


Pour plus d'articles sur la comparaison des versions et du codage de Python 2 et Python 3, veuillez faire attention au site Web PHP chinois !

Déclaration de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Comment résoudre le problème des autorisations rencontré lors de la visualisation de la version Python dans le terminal Linux? Apr 01, 2025 pm 05:09 PM

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Comment copier efficacement la colonne entière d'une dataframe dans une autre dataframe avec différentes structures dans Python? Apr 01, 2025 pm 11:15 PM

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Comment enseigner les bases de la programmation novice en informatique dans le projet et les méthodes axées sur les problèmes dans les 10 heures? Apr 02, 2025 am 07:18 AM

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Comment éviter d'être détecté par le navigateur lors de l'utilisation de Fiddler partout pour la lecture de l'homme au milieu? Apr 02, 2025 am 07:15 AM

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Que sont les expressions régulières? Que sont les expressions régulières? Mar 20, 2025 pm 06:25 PM

Les expressions régulières sont des outils puissants pour la correspondance des motifs et la manipulation du texte dans la programmation, améliorant l'efficacité du traitement de texte sur diverses applications.

Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Comment Uvicorn écoute-t-il en permanence les demandes HTTP sans servir_forever ()? Apr 01, 2025 pm 10:51 PM

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Quelles sont les bibliothèques Python populaires et leurs utilisations? Quelles sont les bibliothèques Python populaires et leurs utilisations? Mar 21, 2025 pm 06:46 PM

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H

Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Comment créer dynamiquement un objet via une chaîne et appeler ses méthodes dans Python? Apr 01, 2025 pm 11:18 PM

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

See all articles