2009-02-23 8 views

Répondre

4

Python 2.6 et Python 3.0 sont très compatibles les uns avec les autres. Il n'y a honnêtement pas beaucoup de différences entre les deux. À ce stade, le support des bibliothèques tierces est bien meilleur pour la série 2.x (dernière fois que j'ai vérifié, quelques bibliothèques que j'utilise n'ont pas été mises à jour de 2.5, mais passer de 2.5 à 2.6 est juste une recompilation, mais 2.6 à 3,0 pour les trucs de niveau C est une vraie douleur).

Commencez tout juste à apprendre 2.6. L'infrastructure est là maintenant, et il y a beaucoup d'aide pour quand vous voulez finalement passer à 3.x. 2.x ne s'en va pas: il y aura une version 2.7 à un moment donné, donc vous n'allez pas avoir de chance si vous apprenez 2.6 maintenant.

+0

Comment la 2.6 et la 3.0 sont-elles compatibles? Voulez-vous dire "Après avoir exécuté le convertisseur, le code résultant fonctionnera généralement dans 3.0?" Indice: Même l'instruction 'print' est incompatible. – Arafangion

+0

Quelques constructions linguistiques différentes ici et là ne sont pas une affaire énorme si vous apprenez. –

+1

'print x' versus' print (x) 'est vraiment le plus grand changement visible par l'utilisateur! Ok, donc les chaînes sont pleines Unicode par défaut; c'est bien, il y a une importation __future__ pour les littéraux Py3k dans 2.6. Et quelques choses qui sont des listes dans 2.6 sont des itérateurs dans 3.0. Pas de différences bouleversantes pour un esprit humain. – kquinn

5

Non, 3.x est en grande partie incompatible avec 2.x (qui était en fait une grande motivation pour le faire). En fait, vous ne devriez probablement pas utiliser la version 3.0 du tout - elle est plutôt inutilisable pour le moment, et elle est toujours principalement destinée aux développeurs de bibliothèques qui doivent la porter pour qu'elle soit utilisable.

+1

"c'est plutôt inutilisable" ne le décrit pas précisément – fuentesjr

+0

Très bien, laissez-moi le dire plus précisément. Il possède très peu d'API tierces, nécessaires à de nombreuses tâches, et l'API évolue rapidement. Les choses qui nécessiteraient normalement plusieurs sous-versions sont modifiées dans une seule version de correction de bugs - dans la version 3.0.1, cmp() a été supprimé. Ce n'est pas encore prêt. –

1

NO. Le code Python 3 est rétrocompatible avec 2.6. Je recommande de commencer par 2.6, car votre code sera plus utile.

+0

A quel moment Python 3.0 sera-t-il utile dans une certaine mesure? – Xolve

+0

difficile à dire. 2.x codebase juste trop énorme. c'est comme Perl 6 :-) Peut-être qu'il sera largement utilisé dans 5 ans à partir de maintenant. – Sergei

2

Il serait plus facile d'utiliser 2.6 maintenant parce que la plupart des bibliothèques externes ne sont pas encore compatibles avec 3.