2010-07-15 6 views
7

Puisqu'il existe un python 3.x, pourquoi ne pas l'utiliser? Pourquoi utilisons-nous toujours 2.x?
Quelle est la différence?python 2.x ou 3.x

Répondre

14

Python 2.6 et 2.7 ont été écrits pour faciliter la transition vers Python 3. Il faudra plus de temps pour porter les paquets les plus complexes (c'est-à-dire ceux avec beaucoup de dépendances, ou les bibliothèques écrites en C).

Donc, si vous démarrez de nouveaux projets, et que toutes les bibliothèques dont vous avez besoin sont là, il est logique de commencer par 3.1. L'un des changements les plus appréciés est la gestion des chaînes Unicode par défaut - cela évitera beaucoup de bogues. Mais si vous déplaciez une application ERP complète, ou quelque chose de grand, de 2.6 à 3.x, cela pourrait être un bain de sang en ce moment. Les changements Unicode par exemple sont les plus difficiles à appliquer de 2.x -> 3.x, et les API C de bas niveau ont également beaucoup changé.

8

Parce que 3.x n'est pas rétrocompatible avec 2.x et beaucoup d'applications et de bibliothèques sont écrites pour la série 2.x. 3.x était leur tentative de nettoyer tout le crud qui n'aurait jamais dû être en Python en premier lieu .... et ils ont dû faire quelques changements de rupture. Probablement le mieux de rester avec 2.x pour l'instant, jusqu'à 3.x gagne un peu plus de popularité.

+2

Oui, je pense que la principale chose qui retient beaucoup de gens est l'absence de versions Python 3 de nombreuses bibliothèques populaires. –

2

Parce que beaucoup de bibliothèques ne sont pas encore portés 3.x je suppose ... Et parce que beaucoup d'application encore courir sur 2.x

5

Si vous écrivez une nouvelle application, et ne comptent pas sur les bibliothèques qui n'ont pas encore de support 3.x, je vous suggère d'opter pour 3.x. Créons une masse critique :)

Jetez un oeil à la python 3 documentation se