duplicados posibles:
Is it advisable to go with Python 3.1 for a beginner?
What version of Python should I use if I’m a new to Python?¿Qué Python debería usar?
en realidad no han hecho nada en Python Python ... ¿Qué debo tomar Ahold de? 2.X o 3.X?
duplicados posibles:
Is it advisable to go with Python 3.1 for a beginner?
What version of Python should I use if I’m a new to Python?¿Qué Python debería usar?
en realidad no han hecho nada en Python Python ... ¿Qué debo tomar Ahold de? 2.X o 3.X?
2.X
todavía ofrece una variedad mucho más amplia de bibliotecas de terceros/marcos, sitios web y libros de instrucción, y los expertos para ayudarle a salir - espero que esto continúe durante unos años hasta que poco a poco se adelanta 3.X
. En este momento, por lo tanto, aún recomendaría 2.X
a pesar de la mayor "limpieza" y simplicidad de 3.x
(debido a que algunos cruces que 2.x tienen que aguantar por la compatibilidad con versiones anteriores finalmente se borraron en 3.x). Muy pocas características nuevas de 3.x no se transfieren en 2.x, por cierto - e..g, si quiere que print
sea una función, como en 3.x, en su módulo 2.6 o 2.7, simplemente ponga , en el inicio del módulo, la declaración
from __future__ import print_function
"Importar desde el futuro" es una forma típica de Python para hacer nuevas funciones disponibles cuando se solicite de forma explícita, sin romper la compatibilidad hacia atrás.
Me encanta cómo se lee esa línea de importación en lenguaje sencillo. – BoltClock
2.x
bastante módulos aún no han sido portados a Python 3 y se encuentra mucho más libros, recursos en línea para el aprendizaje de Python 2.x
Tampoco se puede confiar en pitón 3 está preinstalado, mientras que para la mayoría de las distribuciones de Linux puedes confiar en que alguna versión de python 2 esté disponible. El único que sé que ya tiene paquetes de python 3 es el último Fedora 13. Si eso te importa, depende de tus necesidades.
Yo diría que depende de dónde va a ejecutar el código. Si tiene control completo sobre el medio ambiente, use 3.x. Si su entorno está controlado externamente (por ejemplo, un alojamiento web barato), probablemente necesite usar 2.x. La única otra razón para seguir con 2.x es si una biblioteca crítica que no puede vivir sin ella aún no se ha portado a 3.x. No ensille el código nuevo con 2.x-ismos si puede evitarlo.
Si recién está aprendiendo Python (y no necesita completar un proyecto específico), le sugiero que comience con la versión más reciente (3.x). Incluso si comienzas con 2.x, los conceptos básicos serán los mismos, por lo que podrás aprender cualquier diferencia en 3.x muy rápidamente.
Vea también this related (though not identical) thread en Python 3.0.
Si bien creo que el caso de 3.x es más convincente de lo que era hace un año, todavía no tiene la amplitud de la cobertura de biblioteca de terceros de 2.x. Sugeriría desarrollar para 2.6 y hacer uso de las utilidades de migración cuando finalmente llegue el momento (por ejemplo, alguna dependencia es forcing) para pasar a 3.x.
Vaya con 2.x
me encontré con un montón de problemas de compatibilidad con las bibliotecas y Python 3.x, aunque no puedo recordar cuáles específicamente. El problema específico que estaba viendo tenía que ver con las cadenas Unicode, que entiendo es el valor predeterminado en Python 3. La biblioteca lanzó una excepción cuando se utilizan cadenas Unicode, y devolvió un error para las cadenas ASCII normales.Esto fue hace unos 6 meses, y asumo que el soporte no ha mejorado drásticamente desde entonces.
Si está absolutamente seguro de que no usará ninguna biblioteca externa, 3.x podría no morderlo. Como solución de compromiso, puede usar 2.x e intentar evitar los cambios en 3.x para hacerlo compatible.
¡Estás de enhorabuena! Debido a la gran confusión sobre esta gente, hemos reunido una página wiki en los últimos días: Should I use Python 2 or 3?
No soy un principiante; No he usado Python por un tiempo y quería saber cuál debería usarse. Me dijeron que 3.1 está bifurcado de 2.6. –