什么样的Python开始?

5 python ironpython pypy jython python-stackless

我想学习python所以我从python站点下载它,我看到其他4种蟒蛇出现:

  • Python(正常)
  • IronPython的
  • Jython的
  • PyPy
  • 无堆叠的Python

我真的可以找到它们之间的差异.还有哪一个是最好的开始.

Ale*_*son 10

已更新,以包含评论部分中善意人员的更正:

在你提到的python实现中,原始的和最常用的是CPython(你的列表中的python - 它是用C语言实现并作为本机应用程序运行的python的解释器),几乎可以在阳光下的每个平台上使用.其他变种是:

  • IronPython:在.Net公共运行时上运行(与其他.Net应用程序的接口更干净)
  • Jython:在JVM上运行(与Java和其他JVM应用程序的接口更干净)
  • PyPy:一个Python解释器,它包含一个即时编译器,可以显着提高程序执行性能.解释器和JIT在RPython(而不是C)中实现,这是Python的一个受限子集,适用于静态分析和类型推断.
  • Stackless Python:一种python解释器的实现,它不依赖于本机C运行时堆栈上的递归,因此允许加载CPython中不可用的其他有趣的编程结构和技术(包括轻量级线程).

Python有很多种库(这是该语言的主要优点之一),其中大多数是为CPython开发的.出于多种兼容性原因,上述变体目前都不支持与主要实现一样多的变体.因此,CPython是最好的起点,然后如果您的未来要求适合其他平台之一 - 您将在一个很好的地方学习基础知识的基础变化.

  • 澄清一点:PyPy不是*用Python实现的Python编译器.它是(1)RPython的编译器(与Python不同的**语言),以及(2)包含JIT的Python解释器.(1)存在编译(2),它在RPython中实现.PyPy永远不会将Python程序编译为本机二进制文件. (4认同)