2011-01-30 20 views
7

Quiero aprender Python. Tengo un curso que hacer en Python 3. Sin embargo, tendré que usar principalmente matplotlib y Numpy, y estas bibliotecas aún no son compatibles con Python 3. ¿Vale la pena hacer el curso en Python 3 o será una pérdida de tiempo? aprender Python 3 y luego regresar a Python 2.x?Nuevo en Python ... Python 3 y Matplotlib

¿Qué harías?

+5

numpy admite py3k, matplotlib no. – SilentGhost

+0

posible duplicado de http://stackoverflow.com/questions/880485/should-i-learn-python-2-x-or-start-learning-python-3 y, bueno, duplicados de eso. – badp

+2

Algo diferente. La respuesta a "Debería aprender Python 2 o 3" es "Python 2". Esta pregunta es "¿Se desperdicia un curso de Python 3?". La respuesta es no". –

Respuesta

13

No tendrá problemas para volver a Python 2.x después de aprender Python 3, o viceversa. No hay demasiadas diferencias. (Algunos cambios estándar de la biblioteca, imprimir es una función, todas las cadenas son unicode, nunca se dará cuenta de la mayoría de ellas).

De manera realista, si aprende Python 3 ahora, y consigue un trabajo trabajando con Python, casi seguro que estará trabajando con Python 2.x por el momento. Python 3 aún no ha logrado una amplia adopción. Sin embargo, Python 3 será más adoptado en el futuro cercano, ya que varias bibliotecas están siendo portadas a Python 3.

Si necesita usar Matplotlib específicamente, entonces debe usar Python 2.7 (no tiene sentido usar Python 3) ahora mismo si la biblioteca que necesita no funciona para eso). Pero aprender Python 3 en primer lugar de ninguna manera te pondrá en desventaja y puede ponerte por delante de la curva cuando la mayoría de la gente finalmente hace el cambio.

Tampoco hay nada que le impida usar ambos (Python 3 para aprendizaje/experimentación, Python 2.7 para el trabajo).

4

"¿Qué harías?"

lo haría puerto matplotlib a Python 3. :-)

Pero no, un curso en Python 3 no se desperdicia. Las diferencias se encuentran principalmente en la biblioteca estándar y en diferencias internas sutiles.

Las principales diferencias en el lenguaje en sí son que el tipo Unicode se llama str en Python 3, y que print es una función. Las diferencias no son tan grandes como para desperdiciar un curso.

0

Otra forma de hacerlo es usar algo como cython que le permite generar bibliotecas nativas de python que sean compatibles (sin utilizar 2to3 o 3to2) con ambos 2.x y 3.x. Sin embargo, es un poco de trabajo. Sin embargo, puedes usar las comprensiones de set y dict con versiones de python que no son compatibles con esas características.

14

FYI, Matplotlib es ahora ported to Python 3.

+2

enlace directo al proyecto github: https://github.com/matplotlib/matplotlib-py3 – mgalgs

+0

"ha sido se fusionó de nuevo en https://github.com/matplotlib/matplotlib " –

+0

hg clone git: //github.com/matplotlib/matplotlib.git; cd ma *; instalación de python3.2 s * p.py –