Most Python implementations including CPython include a readevalprint loop REPL

Most python implementations including cpython include

This preview shows page 14 - 16 out of 34 pages.

Most Python implementations (including CPython) include a read–eval–print loop (REPL), permitting them to function as a command line interpreter for which the user enters statements sequentially and receives results immediately. Other shells, including IDLE and IPython , add further abilities such as auto-completion, session state retention and syntax highlighting .
Image of page 14
As well as standard desktop integrated development environments , there are Web browser -based IDEs; SageMath (intended for developing science and math-related Python programs); PythonAnywhere , a browser-based IDE and hosting environment; and Canopy IDE, a commercial Python IDE emphasizing scientific computing. [97] Implementations [ edit ] See also: List of Python software § Python implementations Reference implementation [ edit ] CPython is the reference implementation of Python. It is written in C , meeting the C89 standard with several select C99 features. [98] It compiles Python programs into an intermediate bytecode [99] which is then executed by its virtual machine . [100] CPython is distributed with a large standard library written in a mixture of C and native Python. It is available for many platforms, including Windows and most modern Unix-like systems. Platform portability was one of its earliest priorities. [101] Other implementations [ edit ] PyPy is a fast, compliant [102] interpreter of Python 2.7 and 3.5. Its just-in-time compiler brings a significant speed improvement over CPython. [103] Stackless Python is a significant fork of CPython that implements microthreads ; it does not use the C memory stack, thus allowing massively concurrent programs. PyPy also has a stackless version. [104] MicroPython and CircuitPython are Python 3 variants optimised for microcontrollers . Unsupported implementations [ edit ] Other just-in-time Python compilers have been developed, but are now unsupported: Google began a project named Unladen Swallow in 2009 with the aim of speeding up the Python interpreter fivefold by using the LLVM , and of improving its multithreading ability to scale to thousands of cores. [105] Psyco is a just-in-time specialising compiler that integrates with CPython and transforms bytecode to machine code at runtime. The emitted code is specialised for certain data types and is faster than standard Python code. In 2005, Nokia released a Python interpreter for the Series 60 mobile phones named PyS60 . It includes many of the modules from the CPython implementations and some additional modules to integrate with the Symbian operating system. The project has been kept up-to-date to run on all variants of the S60 platform, and several third-party modules are available. The Nokia N900 also supports Python with GTK widget libraries, enabling programs to be written and run on the target device. [106] Cross-compilers to other languages [ edit ] There are several compilers to high-level object languages , with either unrestricted Python, a restricted subset of Python, or a language similar to Python as the source language: Jython compiles into Java byte code, which can then be executed by every Java virtual machine implementation. This also enables
Image of page 15
Image of page 16

You've reached the end of your free preview.

Want to read all 34 pages?

  • Fall '12
  • DuiWei

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture