Специализированные подмножества/расширения Python[править | править код]
На основе Python было создано несколько специализированных подмножеств языка, в основном предназначенных для статической компиляции в машинный код. Некоторые из них перечислены ниже.
RPython[90] — созданная в рамках проекта PyPy сильно ограниченная реализация Python без динамизма времени исполнения и некоторых других возможностей. Код на RPython можно компилировать во множество других языков/платформ — C, JavaScript, Lisp, .NET[91], LLVM. На RPython написан интерпретатор PyPy.
Pyrex[92] — ограниченная реализация Python, но несколько меньше, чем RPython. Pyrex расширен возможностями статической типизации типами из языка С и позволяет свободно смешивать типизированный и не типизированный код. Предназначен для написания модулей расширений, компилируется в код на языке С.
Cython[93] — расширенная версия Pyrex.
Проект Shedskin — предназначен для компиляции неявно статически типизированного кода на Python в оптимизированный код на языке С++.
IDLE
Инструменты поддержки программирования[править | править код] Интерактивный режим[править | править код]
Подобно Лиспу и Прологу, Python может использоваться в интерактивном режиме, при котором введённые с клавиатуры операторы сразу же выполняются, а результат выводится на экран (REPL). Этот режим удобен как при изучении языка, так и в процессе профессиональной разработки — для быстрого тестирования отдельных фрагментов кода, — так как обеспечивает немедленную обратную связь. Также он позволяет использовать интерпретатор в качестве калькулятора с большим набором функций.
Эталонная реализация Python имеет встроенный интерактивный интерпретатор, работающий в режиме текстового терминала и позволяющий выполнять все основные операции. В интерактивном режиме доступен отладчик pdb и система помощи (вызывается поhelp()), работающая для всех модулей, классов и функций, которые содержат строки документации.
>>> 2 ** 100 # возведение 2 в степень 100
1267650600228229401496703205376L
>>> from math import * # импорт математических функций
>>> sin(pi * 0.5) # вычисление синуса от половины пи
1.0
>>> help(sorted) # помощь по функции sorted
Help on built-in function sorted in module __builtin__:
sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
IPython[94] — выходящая под BSD-лицензией мультиплатформенная интерактивная оболочка, предоставляющая расширенную интроспекцию и дополнительные команды. В частности, позволяет передавать исполняемому коду на Python результаты выполнения команд системной командной оболочки. Поддерживает подсветку кода и автоматическое дополнение.
bpython[95] — расширение стандартной командной оболочки Python с помощью ряда дополнительных модулей. Реализует подсветку синстаксиса, автодополнение кода с предложением вариантов, автовыравнивание, интеграция с Pastebin, сохранение ввода в файл, восстановление удалённой строки, предложение параметров для функций.
Почти все IDE для Python поддерживают REPL для быстрого тестирования.
Do'stlaringiz bilan baham: |