Встроенные структуры данных в Python и JavaScript
Встроенные структуры данных в Python и JavaScript также имеют ключевые различия.
Кортежи
- В Python у нас есть встроенная структура данных, называемая кортежем, которая очень похожа на список, но неизменна. Следовательно, его нельзя изменить во время выполнения программы, поэтому он используется для хранения данных, которые не должны изменяться.
- В JavaScript нет встроенной структуры данных с такими характеристиками. Хотя можно реализовать аналогичную структуру данных с некоторыми особенностями языка.
Списки против массивов
- В Python списки используются для хранения последовательности значений в одной и той же структуре данных. Их можно изменять, индексировать, нарезать и использовать в программе.
- В JavaScript эквивалентная версия этой структуры данных называется массивом .
Это пример:
Хеш-таблицы
- В Python есть встроенная структура данных, называемая словарем, которая помогает нам сопоставлять определенные значения с другими значениями и создавать пары ключ-значение. Это работает как хеш-таблица.
- В JavaScript нет такой встроенной структуры данных, но есть определенные способы воспроизвести ее функциональность с помощью определенных элементов языка.
Операторы в Python и JavaScript
Операторы необходимы для написания выражений на любом языке программирования. Давайте посмотрим на их ключевые различия в Python и JavaScript.
Хотя большинство арифметических операторов работают точно так же в Python и JavaScript, оператор деления немного отличается.
- В Python операция деления (также называемая «целочисленным делением») представлена двойной косой чертой ( //).
- В JavaScript у нас нет конкретного оператора разделения этажей. Вместо этого мы вызываем Math.floor()метод, чтобы округлить результат до ближайшего целого числа.
Сравнение значений и типов
В Python мы используем == оператор, чтобы сравнить, равны ли два значения и их типы данных.
Например:
# Comparing Two Integers
>>> 0 == 0
True
# Comparing Integer to String
>>> 0 == "0"
False
В JavaScript у нас также есть этот оператор, но он работает немного по-другому, потому что он преобразует два объекта в один и тот же тип перед фактическим выполнением сравнения.
Если мы проверим результат сравнения «целое число против строки» из предыдущего примера с помощью JavaScript ( 0 == "0"), результат будет True а не False потому, что значения перед сравнением преобразуются в один и тот же тип данных:
В JavaScript, чтобы проверить, равны ли значение и тип данных, нам нужно использовать этот оператор === (тройной знак равенства).
Теперь мы получаем ожидаемый результат:
Классно, правда?
== оператор в Python работает как === оператор в JavaScript.
Логические операторы
- В Python , три логические операторы: and, or, и not.
- В JavaScript , эти операторы: &&, ||и ! (соответственно).
Типовые операторы
- В Python для проверки типа объекта мы используем type() функцию.
- В JavaScript мы используем typeof оператор.
Это графическое описание их синтаксиса:
Ввод и вывод в Python и JavaScript
Запрос на ввод данных и отображение значений пользователю - очень распространенные операции. Посмотрим, как это можно сделать на Python и JavaScript:
Ввод
- В Python мы используем input()функцию для запроса ввода данных пользователем. Пишем сообщение в скобках.
- В JavaScript есть одна альтернатива (если вы запускаете код в браузере) - отобразить небольшое приглашение window.prompt(message) и присвоить результат переменной.
Основное различие между этими двумя подходами заключается в том, что в Python пользователю будет предложено ввести значение в консоли, а в JavaScript в браузере отобразится небольшое приглашение, в котором пользователю будет предложено ввести значение.
Вы увидите это в консоли Python, чтобы ввести значение:
В JavaScript, если вы откроете инструменты разработчика Chrome и введете эту строку кода в консоль:
Появится этот запрос:
Вывод
- В Python мы выводим значение на консоль с помощью print()функции, передавая значение в круглых скобках.
- В JavaScript мы выводим значение на консоль, используя console.log(), также передавая значение в круглых скобках.
Если вы работаете в браузере, вы также можете вызвать alert()для отображения небольшого приглашения с сообщением (или значением), переданным в круглых скобках.
Условные операторы в Python и JavaScript
С помощью условных выражений мы можем выбирать, что происходит в программе, в зависимости от того, является ли конкретное условие True или False. Давайте посмотрим на их различия в Python и JavaScript.
if оператор
- В Python мы полагаемся на отступ, чтобы указать, какие строки кода принадлежат условному выражению.
- В JavaScript мы должны заключить условие в круглые скобки, а код - в фигурные скобки. Код также должен быть с отступом.
if/else
Предложение else очень похоже на обоих языках. Единственная разница в том, что:
- В Python , мы пишем двоеточие ( :) после ключевого слова else
- В JavaScript , мы окружаем код , который принадлежит к этой статье с помощью фигурных скобок ( {}).
Несколько условий
Чтобы написать несколько условий:
- В Python мы пишем ключевое слово elif , за которым следует условие. После условия мы пишем двоеточие ( :) и код с отступом на следующей строке.
- В JavaScript мы пишем ключевые слова else if, за которыми следует условие (в круглых скобках). После условия мы пишем фигурные скобки и код с отступом внутри фигурных скобок.
Switch в JavaScript
- В JavaScript у нас есть дополнительная структура управления, которую мы можем использовать, чтобы выбирать, что происходит, на основе значения выражения. Это заявление называется switch.
- Python не имеет такой встроенной структуры управления.
Это общий синтаксис этого оператора:
В JavaScript:
switch (expression) {
case value1:
// Code
break;
case value2:
// Code
break;
case value3:
// Code
break;
default:
// Code }
Мы можем добавить столько случаев, сколько нам нужно, и выражение может быть переменной.
Циклы for и while в Python и JavaScript
Теперь давайте посмотрим, как мы можем определять различные типы циклов в Python и JavaScript и их основные различия.
Для циклов
Синтаксис для определения цикла for в Python относительно проще, чем синтаксис в JavaScript.
- В Python мы пишем ключевое слово, for за которым следует имя переменной цикла, ключевое слово in и вызов range() функции, определяющей необходимый параметр (ы). Затем мы пишем двоеточие ( :), за которым следует тело цикла с отступом.
- В JavaScript мы должны явно указать несколько значений. Начнем с for ключевого слова, за которым следуют круглые скобки. В этих скобках мы определяем переменную цикла с ее начальным значением, условием, которое должно быть False для остановки цикла, и тем, как переменная будет обновляться на каждой итерации. Затем мы пишем фигурные скобки для создания блока кода, а внутри фигурных скобок пишем тело цикла с отступом.
Итерации
Мы можем использовать цикл for в Python и JavaScript для перебора элементов итерации.
- В Python мы пишем ключевое слово for , за которым следует переменная цикла, in ключевое слово и итерация. Затем мы пишем двоеточие ( :) и тело цикла (с отступом).
- В JavaScript мы можем использовать for .. of цикл. Мы пишем ключевое слово for, за которым следуют круглые скобки, и в этих скобках мы пишем ключевое слово var за которым следует переменная цикла, ключевое слово of и итерация. Тело цикла окружаем фигурными скобками, а затем делаем отступ.
В JavaScript у нас также есть for .. in циклы для перебора свойств объекта.
Пример:
const object = { a: 1, b: 2, c: 3 };
for (const property in object) { console.log(property, object[property]);
}
Когда мы запускаем этот код в консоли инструментов разработчика Chrome, результат будет следующим:
Цикл While
Циклы while очень похожи в Python и JavaScript.
- В Python мы пишем ключевое слово, while за которым следует условие, двоеточие ( :) и в новой строке тело цикла (с отступом).
- В JavaScript синтаксис очень похож. Отличия в том, что мы должны заключить условие в круглые скобки, а тело цикла - в фигурные скобки.
do..while
Циклы в JavaScript
В JavaScript у нас также есть цикл, которого нет в Python.
Этот тип цикла называется do..while, потому что он выполняет что-то хотя бы один раз и продолжает выполняться, пока есть условие True.
Это основной синтаксис:
do { // Code
} while (condition);
Этот тип цикла гарантирует, что код будет выполнен хотя бы один раз.
Это особенно полезно, когда мы запрашиваем ввод данных пользователем, потому что пользователю будет предложено ввести ввод. Если введенные данные верны, мы можем продолжить выполнение программы. Но если оно недействительно, мы можем предложить пользователю ввести значение еще раз, пока оно не станет действительным.
Функции в Python и JavaScript
Функции невероятно важны для написания кратких, удобных в обслуживании и читаемых программ. Синтаксис Python и JavaScript очень похож, но давайте проанализируем их ключевые различия:
- В Python мы пишем ключевое слово, def за которым следует имя функции, а в скобках - список параметров. После этого списка мы пишем двоеточие ( :) и тело функции (с отступом).
- В JavaScript единственное отличие состоит в том, что мы определяем функцию с помощью ключевого слова function и заключаем тело функции в фигурные скобки.
Кроме того, между функциями Python и JavaScript есть очень важное различие:
Количество аргументов функции
- В Python количество аргументов, передаваемых вызову функции, должно соответствовать количеству параметров, определенных в определении функции. Если это не так, произойдет исключение.
Пример:
>>> def foo(x, y):
print(x, y)
>>> foo(3, 4, 5)
Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> foo(3, 4, 5)
TypeError: foo() takes 2 positional arguments but 3 were given
- В JavaScript в этом нет необходимости, поскольку параметры необязательны. Вы можете вызвать функцию с меньшим или большим количеством аргументов, чем параметры, которые были определены в определении функции undefined По умолчанию отсутствующим аргументам присваивается значение , и объект может получить доступ к дополнительным аргументам .
Пример на JavaScript:
Обратите внимание, как функция была вызвана с тремя аргументами, но только два параметра были включены в список параметров определения функции.
Чтобы получить количество аргументов, переданных функции, вы можете использовать их arguments.length внутри функции.
Объектно-ориентированное программирование на Python и JavaScript
И Python, и JavaScript поддерживают объектно-ориентированное программирование, поэтому давайте посмотрим, как вы можете создавать и использовать основные элементы этой парадигмы программирования.
Классы
Первая строка определения класса очень похожа в Python и JavaScript. Мы пишем ключевое слово, classза которым следует имя класса.
Единственная разница в том, что:
- В Python после имени класса мы пишем двоеточие ( :)
- В JavaScript мы заключаем содержимое класса в фигурные скобки ( {}).
В Python и JavaScript имена классов должны начинаться с заглавной буквы, и каждое слово также должно начинаться с заглавной буквы.
Конструктор и атрибуты
Конструктор - это специальный метод, который вызывается при создании нового экземпляра класса (нового объекта). Его основная цель - инициализировать атрибуты экземпляра.
- В Python вызывается конструктор, который инициализирует новый экземпляр init (с двумя ведущими и завершающими знаками подчеркивания). Этот метод вызывается автоматически при создании экземпляра класса для инициализации его атрибутов. Его список параметров определяет значения, которые мы должны передать для создания экземпляра. Этот список начинается с self первого параметра.
- В JavaScript вызывается метод конструктора constructor, который также имеет список параметров.
В Python мы используем self для ссылки на экземпляр, в то время как в JavaScript мы используем this.
Чтобы присвоить значения атрибутам в Python , мы используем этот синтаксис:
self.attribute = value
Напротив, мы используем этот синтаксис в JavaScript :
this.attribute = value;
Методы в Python и JavaScript
- В Python мы определяем методы с ключевым словом def, за которым следует их имя и список параметров в круглых скобках. Этот список параметров начинается с self параметра, указывающего на экземпляр, вызывающий метод. После этого списка мы пишем двоеточие ( :) и тело метода с отступом.
Пример:
- В JavaScript методы определяются путем написания их имени, за которым следует список параметров и фигурные скобки. В фигурных скобках пишем тело метода.
Экземпляры
Чтобы создать экземпляры класса:
- В Python мы пишем имя класса и передаем аргументы в круглых скобках.
my_circle = Circle(5, "Red")
- В JavaScript нам нужно добавить ключевое слово new перед именем класса.
my_circle = new Circle(5, "Red");
Python и JavaScript - очень мощные языки с различными реальными приложениями.
Python можно использовать для веб-разработки и для широкого круга приложений, включая научные цели. JavaScript в основном используется для веб-разработки (интерфейсная и внутренняя) и для разработки мобильных приложений.
У них есть важные различия, но у них обоих есть те же основные элементы, которые нам нужны для написания мощных программ.
0 комментариев
Добавить комментарий