For…in Loops: переключение между Javascript и Python.

Если вы дошли до того, что вам нужно делать Javascript в дополнение к Python или Python в дополнение к Javascript, добро пожаловать в современное программирование. Это порядок дня!

Вы едва ли сможете выжить, используя только один язык, поскольку фреймворки разрастаются, а технологическая экосистема все больше и больше пересекается. Границы между бэкендом, фронтендом и мобильными устройствами продолжают стираться. Так что все в порядке, если вы комбинируете Python и Javascript. Однако, если вы новичок в этой комбинации, следует отметить некоторые тонкие различия, иначе жизнь может превратиться в ад.

А пока давайте посмотрим на for...in петли.

for...in петля, эквивалентная foreach...in на других языках — это отличный способ перебора каждого элемента в последовательности элементов.

Он доступен в Javascript и Python и может показаться похожим в том, как он реализован… но! он ведет себя по-разному для каждого языка.

Давайте переберем последовательность названий чисел на обоих языках и отобразим их одно за другим.

Питон 3.х

# Python Code

>>> numbers = ['one', 'two', 'three', 'four']
>>> for number in numbers:
... 	print(number)
one
two
three
four

Python выводит каждый элемент списка. Это делает for...in очень круто.

Давайте посмотрим на Javascript

Javascript

// Javascript Code

> var numbers = ['one', 'two', 'three', 'four'];
> for (var number in numbers){
...  console.log(number);
...}
0
1
2
3

Ну вот! Что-то другое! Javascript отображает индексы (или индексы) элементов, а не сами элементы, как мы видели с python.

Если мы действительно хотим получить значения в Javascript, нам нужно добавить дополнительный код. Мы будем использовать индексы для получения элементов и немного изменим код для удобства чтения:

// Javascript Code

> var numbers = ['one', 'two', 'three', 'four'];
> for (var index in numbers){
... console.log(numbers[index]);
...}
one
two
three
four

Вот так!

Конечно, если вы переходите с Python на Javascript, обратите внимание, что нам нужно объявлять переменные с такими ключевыми словами, как var, let, const в зависимости от версии и настроек области видимости. Мы также должны использовать {..} для блоков и добавить ; (точка с запятой) до конца логических строк.

И если вы переходите с Javascript на Python, попрощайтесь с такими ключевыми словами, как var, let, const. Чтобы объявить переменную, вам нужно только имя и его значение. Блоки форматируются с помощью отступов, с использованием табуляции или пробелов — не того и другого, и рекомендуемых пробелов… и… Блоки также начинаются с логических строк, заканчивающихся на :(двоеточие).

Это была просто суть….

Вернуться к коду!

Возможно, вы уже задавались вопросом, что делать, если вам нужны индексы списка в python, а не сами элементы.

Ну и для этого тоже есть что. Это называется enumerate(). Давайте использовать это:

# Python Code

>>> numbers = ['one', 'two', 'three', 'four']
>>>
>>> for index, number in enumerate(numbers):
... 	print(index)
0
1
2
3

Ну вот! enumerate() Функция принимает список элементов и нумерует их. Затем он возвращает элементы и их индексы в виде пар; первый из пары является индексом элемента, а второй — самим элементом. Читать далее здесь.

Определенно, вы можете получить то, что достигается каждым языком с помощью for...in по-разному.

  1. Когда используешь for...in в Javascript по умолчанию возвращается индекс каждого элемента, за исключением пар ключ-значение (объекты javascript).

  2. Когда используешь for...in в Python поведение по умолчанию заключается в том, что возвращается сам элемент, за исключением пар ключ-значение… И это для другого поста.

  3. Вы можете добавить дополнительный код, чтобы добиться чего-то другого для каждого языка.

Всегда помните, они могут казаться похожими, но они не равны. 😃

… И следите за продолжением… есть еще итерации для изучения for...in.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *