2012-06-20 11 views
5

Quiero aprender Python lo que he descargado desde el sitio de pitón y vi otros 4 tipos de pitones aparecen:¿De qué "clase" de Python para empezar?

  • Python (normal)
  • IronPython
  • Jython
  • PyPy
  • Stackless Python

Realmente puedo encontrar las diferencias entre estas. También cuál es el mejor para comenzar.

+6

Comience con CPython (el Python normal) – zmbq

+2

Cada uno es una implementación de la especificación del lenguaje Python. CPython es python normal y el desarrollo python estándar. Otros son variaciones para admitir diferentes aspectos no admitidos por CPython – pyfunc

Respuesta

10

Actualizado para incluir las correcciones de gente amable en la sección de comentarios:

de las implementaciones de Python que mencionas, el original y más comúnmente utilizado es CPython (pitón en su lista - que es un intérprete de Python implementado en C y ejecutándose como una aplicación nativa) y está disponible para prácticamente cualquier plataforma bajo el sol. Las otras variantes son:

  • IronPython: se ejecuta en el tiempo de ejecución común .Net (interfaces de forma más limpia con otras aplicaciones .Net)
  • Jython: se ejecuta en la JVM (interfaces de forma más limpia con Java y otras aplicaciones de JVM)
  • PyPy: intérprete de Python que incluye un compilador just-in-time que puede aumentar significativamente el rendimiento de ejecución del programa. El intérprete y el JIT se implementan en RPython (en lugar de C), un subconjunto restringido de Python que es susceptible de análisis estático e inferencia de tipo.
  • Stackless Python: una implementación de un intérprete python que no depende de la recursión en la pila de tiempo de ejecución nativa C, y por lo tanto permite una carga de otras construcciones y técnicas de programación interesantes (incluyendo subprocesos ligeros) no disponibles en CPython.

Hay una gran variedad de bibliotecas para Python (una de las principales ventajas del lenguaje), la mayoría desarrolladas para CPython. Por varias razones de compatibilidad, ninguna de las variantes anteriores admite actualmente la implementación principal. Por esta razón, CPython es el mejor lugar para comenzar, y luego, si sus requisitos futuros se ajustan a una de las otras plataformas, estará en un buen lugar para aprender las variaciones de una base sólida en lo básico.

+4

Un punto de aclaración: PyPy es * no * un compilador de Python implementado en Python.Es (1) un compilador para RPython (un ** idioma ** diferente de Python), y (2) un intérprete de Python que incluye un JIT. (1) existe para compilar (2), que se implementa en RPython. PyPy nunca permitirá la compilación de programas Python a binarios nativos. – Ben

+0

@Ben. Gracias por la aclaración. –

+0

Por favor, arregle la respuesta. La explicación actual es engañosa en el mejor de los casos, y no confiaría en que todos lean los comentarios. Mientras estás en ello, es posible que quieras cambiar el último párrafo también. PyPy implementa la totalidad de Python 2.7, algunos detalles de implementación (en su mayoría oscuros) y parte de la API C, por lo que casi todos los códigos Python y un número (aunque no puedo decir si es la mayoría) de las extensiones C útiles funcionan. Estoy bastante seguro de que Stackless e IronPython también están bastante actualizados y son compatibles, pero no los he analizado mucho. – delnan

3

Comience con Python.

Las alternativas son para casos de uso especial que se aplican principalmente cuando se integra Python con otros lenguajes, que es un uso muy avanzado del idioma.

4

Python. Toda la documentación que encontrará para aprender el idioma asume esto. Entonces, si encuentra una necesidad para una de las otras implementaciones , la documentación supondrá que conoce Python y le explicará las diferencias.

Cuestiones relacionadas