Quelle est la différence entre Python 2.x et 3.x ?

Réponses rédigées par Antoine
Dernière mise à jour : 2018-03-15 14:37:23
Thèmes : python - script
Question

Quelle est la différence entre Python 2.x et Python 3.x, et pourquoi, même encore aujourd'hui, certains projets utilisent Python 2.x ?

Réponse

Lorsque Python 2.0 est sorti en 2000, le langage n'était pas encore très populaire. Au fur et à mesure que de plus en plus de développeurs ont commencé à le prendre en main et à l'utiliser sérieusement, des failles dans le langage sont devenues plus apparentes, mais elles n'ont pas pu être corrigées sans changements majeurs.

Lorsque Python 3.0 est sorti en 2008, ces changements majeurs ont été introduits, ce qui a conduit à plusieurs nouvelles fonctionnalités et améliorations, mais le langage est devenu incompatible avec Python 2.x. Cela signifiait que les développeurs devaient ré-écrire leur code pour tirer parti de Python 3.0, et beaucoup d'entre eux n'étaient pas prêts à le faire, y compris les développeurs de nombreuses bibliothèques et frameworks tiers.

Par conséquent, Python se divise essentiellement en deux versions :

  • La branche 2.x dites "legacy".
  • La branche 3.x dites "present".

La branche 3.x fait l'objet d'un développement actif, alors que la branche 2.x ne reçoit que des corrections de bogues et des mises à jour de sécurité.

De nos jours, la plupart de la communauté est passée à Python 3.x, et c'est la version que je recommande d'utiliser. La seule raison d'utiliser Python 2.x aujourd'hui est que votre projet repose sur une bibliothèque ou un framework qui ne supporte pas encore Python 3.x.