Последнее обновление 12.01.2023 — Василий Иванов
JavaScript и Python — два самых популярных и часто используемых языка в мире. JavaScript — неотъемлемая часть веб-разработки как на фронтенде, так и на бэкенде. С другой стороны, Python больше подходит для внутреннего кодирования и быстрой разработки приложений.
Хотя у обоих есть свои преимущества, вы можете получить лучшее из обоих миров, запустив код JavaScript из программы Python.
Введение в JavaScript и его синтаксис
JavaScript — это язык сценариев, используемый для веб-разработки. Вы можете использовать JavaScript, чтобы добавить поведение и функциональность веб-страницам. Это интерпретируемый язык, означающий, что код работает в режиме реального времени без компилятора, переводящего его в машинный код.
Вот некоторые из отличительных особенностей синтаксиса языка:
- Блоки кода: JavaScript использует фигурные скобки ({}) для заключения операторов в один и тот же блок.
- Переменные: Вы можете определить переменные, используя ключевое слово var. Синтаксис для инициализации переменной: var имя_переменной = значение;.
- Константы: вы можете определить константы, используя ключевое слово const. Синтаксис для определения константы: const имя_константы = значение;.
- Операторы: в JavaScript можно использовать различные логические операторы, включая &&, || а также !. Оператор равенства существует в двух формах: == сравнение значения и === сравнение значения и типа данных.
- Ввод/вывод: вы можете вводить данные в JavaScript с помощью window.prompt() и отображать вывод на консоли с помощью console.log().
Если вы хотите заняться разработкой полного стека, интерфейсной или серверной разработки, вы должны понимать основы JavaScript.
Синтаксис Python
Python — это язык программирования высокого уровня, который находит применение в бэкэнд-разработке, искусственном интеллекте и науке о данных. Python считается интерпретируемым языком с динамической типизацией и сборкой мусора.
Несколько ключевых синтаксисов в Python, на которые стоит обратить внимание:
- Блоки кода: Python использует отступы для включения операторов в один и тот же блок.
- Переменные: Вы можете инициализировать переменные в Python как variable_name = value.
- Константа: Python на самом деле не поддерживает константы, но соглашение гласит, что вы называете переменные, которые не должны изменяться, заглавными буквами, например, CONSTANT_NAME.
- Операторы: Вы можете использовать логические операторы, такие как и, или, и не. Используйте оператор равенства (==) для сравнения значения и типа данных.
- Ввод-вывод: вы можете получить ввод от пользователя с помощью input() и отобразить вывод с помощью print().
Python — один из самых простых языков для освоения, и с широкими приложениями вам обязательно стоит запачкать руки. Эти курсы и приложения — отличное место для бесплатного изучения Python.
Что такое модуль Js2Py?
Js2Py — это транслятор JavaScript-to-Python и интерпретатор JavaScript, написанный Петром Дабковски на 100% чистом Python. Чтобы установить этот модуль, откройте терминал и выполните:
pip install js2py
Js2Py автоматически переводит любой действительный JavaScript (ECMA Script 5.1, ECMA 6) в Python без использования каких-либо зависимостей. Он использует только стандартную библиотеку Python.
Существует три ограничения на использование модуля Js2Py, как указано в этой официальной документации на GitHub:
- Js2py игнорирует строгий режим.
- Оператор with не поддерживается.
- Он рассматривает косвенный вызов eval как прямой вызов eval.
Несмотря на эти ограничения, модуль отлично работает и преобразует большую часть кода JavaScript в язык Python.
Примеры запуска кода JavaScript в Python
Вот несколько примеров перевода и запуска вашего кода JavaScript в Python:
1. Программа «Привет, мир»
Первая программа, которую вы пишете на любом языке, — это программа Hello World. Вы реализуете это как:
import js2py
js2py.eval_js('console.log("Hello World!")')
Первым шагом является импорт модуля js2py в вашу среду. Передайте код JavaScript в качестве параметра функции eval_js() для его оценки. При передаче console.log(«Hello World!») отображается Hello World! на выходном терминале Python, как и в окнах консоли браузера.
2. Функция для сложения двух чисел
Вот как вы можете выполнить сложение двух чисел с помощью JavaScript в Python:
import js2py
js_add = '''function add(a, b){
return a + b;
}'''
add = js2py.eval_js(js_add)
print(add(3, 7))
Объявите функцию, используя формат JavaScript, и заключите ее в многострочную строку («»» или »’). Вы можете сохранить ее в переменной с именем js_add. Передайте переменную функции в eval_js(), чтобы преобразовать ее в эквивалент Python. результат, выполнив вызов функции и передав два числа в качестве аргументов.
Это результат, полученный при сложении двух чисел с помощью функции в JavaScript:
3. Как преобразовать весь файл JavaScript в файл Python
Предположим, у вас есть файл JavaScript с именем example.js, который содержит следующий код:
// Object
function Rectangle(w, h) {
this.w = w;
this.h = h
}
Rectangle.prototype = {
getArea: function () {
return this.w * this.h
}
};
x = new Rectangle(10, 5)
Этот JavaScript содержит функцию Rectangle, которая принимает ширину и высоту в качестве параметров и возвращает вычисленную площадь, используя формулу ширина * высота.
Существует два простых метода преобразования файла JavaScript в файл Python. Они есть:
- Первый метод запускает файл JavaScript без его явного перевода. Вы можете реализовать это как:
import js2py
eval_result, example = js2py.run_file('example.js')Функция run_file() принимает файл JavaScript в качестве аргумента и возвращает результат оценки вместе с объектом, который можно использовать для запуска и тестирования любого кода JS.
- Второй метод явно преобразует и сохраняет весь файл JavaScript в файл Python. Вы можете реализовать это как:
import js2py
js2py.translate_file('example.js', 'example.py')Используя первый метод, вы можете работать с файлом JavaScript в самой среде Python. Однако, если вы просто хотите преобразовать и запустить файл в Python, второй метод более осуществим.
4. Создание объекта с помощью новой функции
Следует отметить, что вы не можете создать объект файла JavaScript как новый пример.Rectangle(8,2). Вместо этого вы должны использовать .new(8,2). Вы можете закодировать его как:
import js2py
eval_result, example = js2py.run_file('example.js')
rect = example.Rectangle.new(8,2)
print(rect.getArea())
Используя первый метод, переведите файл JavaScript, содержащий код для вычисления площади прямоугольника. Используйте оператор точки (.) для доступа к функции Rectangle в оцениваемом файле и используйте функцию new() для создания ее объекта. Передайте два числа в качестве аргумента. Используйте функцию getArea(), чтобы вычислить площадь и отобразить ее с помощью оператора печати.
Это результат, полученный при вычислении площади прямоугольника с помощью JavaScript:
Запуск Python в браузере
Хотя Python — популярный инструмент, который вы можете использовать для написания кода на бэкенде, есть несколько инструментов, которые вы можете изучить, чтобы попробовать его и на внешнем интерфейсе. Вы можете использовать Brython, Transcrypt и Pyjs для написания веб-приложений на основе JavaScript полностью на Python.
Вы можете использовать другие стратегии для объединения кода Python и JavaScript в одном приложении. Наиболее простым является общение через простой открытый стандарт, такой как JSON.