Компьютерная программа, переводящая код, написанный на одном языке программирования, в другой, называется транслятором, а из языка в машинный код — компилятором. Python возглавляет фракцию самых быстрорастущих языков программирования. Таким образом, нет недостатка в компиляторах и трансляторах для Python, которые могут удовлетворить различные потребности проекта.
- Введение
- Brython — реализация Python для браузера
- Nuitka — компилятор Python написанный на языке Python
- Платформа для разработки PyJS
- Shed Skin — экспериментальный компилятор для Python
- Skulpt — полностью браузерная реализация Python
- Transcrypt — быстрый транслятор кода Python в JavaScript
- WinPython — версия Python адаптированная для Windows
- Заключение
Введение
В первую очередь, компиляторы — это программы, которые преобразуют исходный код, написанный на языке программирования высокого уровня, в язык программирования более низкого уровня, такой как машинный код, для создания исполняемой программы.
Хотя компилятор CPython является де-факто компилятором для Python, поскольку он относится к эталонной реализации Python, т.е. CPython, существует несколько других компиляторов Python, которые разработчики любят использовать.
Давайте рассмотрим 7 лучших компиляторов для Python.
Brython — реализация Python для браузера
Brython, отмеченный как «реализация Python 3 для веб-программирования на стороне клиента», является популярным компилятором, который преобразует код Python в код JavaScript.
Официальный сайт проекта: https://brython.info
Адаптированный к среде HTML5, Brython поставляется с интерфейсом для объектов и событий DOM. Brython — это сокращение от Browser Python. Он может похвастаться широким функционалом, начиная от создания простых элементов документа и перетаскивания до трехмерной навигации. Компилятор Python работает в Firefox намного лучше, чем в Google Chrome. Brython поддерживает не только все современные настольные браузеры, но и так же мобильные веб-браузеры. Компилятор Python поставляется с консолью JavaScript, которую можно использовать для оценки времени выполнения некоторой программы JS по сравнению с ее эквивалентом Python в редакторе. Согласно официальному блогу Пьера Квентеля, создателя и ведущего разработчика Brython, Brython намного быстрее Pypy.js и Skulpt. В некоторых случаях компилятор Python работает даже быстрее, чем эталонная реализация Python, то есть CPython. Brython поддерживает большую часть синтаксиса Python 3, например генераторы и импорт библиотек. Он также обеспечивает поддержку нескольких модулей, принадлежащих дистрибутиву CPython, и поставляется с библиотеками для взаимодействия с элементами и событиями DOM. Поддержка последних спецификаций HTML5 / CSS3 также доступна в Brython, а компилятор Python может использовать популярные CSS-фреймворки, такие, как BootStrap и LESS.
Nuitka — компилятор Python написанный на языке Python
Nuitka — это компилятор Python, написанный на языке Python.
Официальный сайт проекта: https://nuitka.net
Nuitka берет код Python и компилирует его в исходный код C / C++ или исполняемые файлы. Его можно использовать для разработки автономных программ, даже если на вашем компьютере не запущен Python.
Написанная полностью на Python, Nuitka позволяет использовать различные библиотеки Python и модули расширения.
Компилятор доступен для платформ FreeBSD, Linux, macOS X, NetBSD и Windows и находится под лицензией Apache License версии 2.0. Nuitka также доступна с Anaconda для тех, кто предпочитает ее для разработки проектов, связанных с наукой о данных и машинным обучением.
Платформа для разработки PyJS
Для тех, кто хочет писать код Python и выполнять его в веб-браузерах, PyJS — один из вариантов.
Официальный сайт проекта: http://pyjs.org
Компилятор PyJS переводит код Python в эквивалентный код JavaScript, чтобы он мог выполняться внутри веб-браузера. Важным аспектом PyJS является то, что он поставляется с фреймворком AJAX, который заполняет пробелы, оставшиеся между поддержкой JS и DOM, доступной для различных веб-браузеров. Чтобы сгенерировать эквивалентный код JS, PyJS использует абстрактное синтаксическое дерево Python.
Исходный код веб-приложения Python можно запустить как автономное настольное приложение (которое работает под Python) с помощью модуля PyJS Desktop. Интересно, что в некоторых системах Unix предустановлены версии PyJS и PyJS Desktop. Несмотря на различия между Python и JavaScript, большинство типов данных в двух популярных языках программирования идентичны.
При использовании PyJS некоторые типы данных Python преобразуются в настраиваемые объекты, например списки. PyJS — легкое приложение. Кроме того, он может использоваться непосредственно из веб-браузера и позволяет запускать программы из JS-консоли веб-браузера. Компилятор PyJS также предлагает поддержку во время выполнения.
Поскольку код Python можно встраивать в код JS, разработчики JS могут проектировать и разрабатывать приложения в чисто объектно-ориентированной парадигме с использованием PyJS.
Shed Skin — экспериментальный компилятор для Python
Еще один популярный компилятор Python — Shed Skin.
Официальный сайт проекта: http://shedskin.github.io
Он преобразует статически типизированную программу Python в эквивалентную программу на чистом C++. Статически типизированный означает, что используемые переменные должны относиться только к одному типу данных. Shed Skin не поддерживает некоторые общие функции, такие как использование вложенных функций и определение функций, которые принимают различное количество аргументов. Только некоторые стандартные функции библиотеки Python доступны для использования с Shed Skin. В качестве экспериментальной программы компилятора Shed Skin предлагает перевести статически типизированные программы Python в оптимизированный код C++ с несколькими ограничениями. Кроме того, Shed Skin не может масштабироваться более, чем на несколько тысяч строк кода. Если в вашем коде есть неподдерживаемый модуль Shed Skin, вы должны удалить его и добавить простой код для воспроизведения желаемой функциональности.
Несмотря на свой экспериментальный статус, Shed Skin может создавать автономные программы или модули расширения, которые можно импортировать и использовать в больших программах Python. Самым большим преимуществом использования Shed Skin является то, что он позволяет значительно повысить производительность. Это главным образом связано с тем, что компилятор Python переопределил встроенные типы данных Python в свой собственный набор классов, реализованный в эффективном коде C++.
Skulpt — полностью браузерная реализация Python
Написанный на JavaScript и доступный по лицензии MIT, Skulpt предлагает настоящую среду, в которой скомпилированный код выполняется в форме JS.
Официальный сайт проекта: https://skulpt.org
Поскольку Skulpt — это реализация Python в браузере, нет необходимости в дополнительной обработке, плагинах или поддержке на стороне сервера, необходимых для запуска Python в веб-браузере. Любой код Python, написанный в Skulpt, выполняется непосредственно в веб-браузере. Skulpt — хороший вариант для разработчиков, которые хотят создать веб-приложение, позволяющие пользователям запускать программы Python внутри веб-браузера, обеспечивая безопасность фоновых сервисов. Популярный компилятор Python также можно легко встроить в существующий блог или веб-страницу. Для индивидуальной интеграции в HTML можно добавить код Skulpt. Вы также можете научить Skulpt импортировать свои собственные модули для большего контроля. Хотя Skulpt переводит код Python в код JS, он не облегчает выполнение последнего.
Transcrypt — быстрый транслятор кода Python в JavaScript
Еще один популярный компилятор Python — Transcrypt. Он позволяет скомпилировать довольно обширное подмножество Python в компактный, читаемый и простой для отладки код JavaScript.
Официальный сайт проекта: https://www.transcrypt.org
Компилятор Python следует упрощенному и мощному синтаксису, не требуя дополнительных расширений. Transcrypt прекомпилирует в быстрый, читаемый JS-код, который можно отлаживать из исходного кода Python с помощью исходных карт. Облегченный компилятор обеспечивает поддержку нарезки с помощью матрицы [i: j: k] и векторных операций с операторами +, -, * и /. Линтер, минификатор и валидатор статического типа встроены в Transcrypt. Таким образом, компилятор Python улучшает взаимодействие команды, работающей над полномасштабными проектами. Помимо беспрепятственного доступа к любой JS-библиотеке, Transcrypt также может работать поверх Node.js.
Благодаря поддержке иерархических модулей, локальных классов и множественного наследования Transcrypt может похвастаться гибкой и стабильной общей структурой.
WinPython — версия Python адаптированная для Windows
WinPython — это дистрибутив Python, специально созданный для операционной системы Windows.
Официальный сайт проекта: https://winpython.github.io
Более ранние версии CPython не были оптимизированы под Windows и, как таковые, содержали много ошибок. WinPython был инкубирован как решение проблемы. Хотя нынешние версии CPython очень стабильны в операционной системе Windows, WinPython имеет несколько эксклюзивных функций. Поскольку WinPython является автономным дистрибутивом для Python, вам нужно только загрузить и распаковать его, чтобы начать работу. WinPython также поставляется с некоторыми из самых популярных библиотек Python для науки о данных и машинного обучения, таких как NumPy, Pandas и SciPy. Следовательно, вы можете сразу же работать с этими библиотеками Python.
WinPython поставляется с множеством встроенных функций, которые в большинстве случаев не требуются, например, компилятор C и C ++. Это может быть серьезным ограничением, поскольку нет возможности выбрать и загрузить только те функции, которые необходимы. Тем не менее, WinPython доступен в варианте нулевого пакета, который поставляется только с компилятором Python и не более того.
Заключение
На этом завершается данный список из семи лучших компиляторов Python. Поскольку каждый из них разработан с учетом конкретных требований, вы можете использовать их для удовлетворения различных потребностей. В программировании, чем больше программист знает, тем лучше.
Еще бы уточнил информацию по файлам которые предоставляют разработчики данных решений
а что конкретно нужно уточнить?
Егор ,статья на все ,100 балов.Легко читаемая и главное запоминается на раз два.Побольше таких статей пишите .
спасибо)