Сравнение JavaScript и Python: циклы и операторы if-else

Вслед за моей последней записью в блоге, в этой статье мы продолжим сравнение JavaScript и Python. На этот раз мы рассмотрим циклы и операторы if-else.

Пока циклы

В JavaScript циклы while имеют условное выражение (содержащееся в круглых скобках) после ключевого слова while, за которым следует блок кода, заключенный в фигурные скобки.

Аналогично, в Python за ключевым словом while следует условный оператор (без круглых скобок), за которым следует двоеточие. Блок кода следует за двоеточием после отступа (без фигурных скобок).

//JavaScript
let x = 10 
while(x > 1) {
  console.log(x);
  x--;
}
#Python
x = 10
while x > 1:
  print(x)
  x -= 1

Для цикла

Мы будем использовать циклы for-of и for-in для JavaScript. В JavaScript цикл for-of можно использовать со строками и массивами. Цикл for-in используется с объектами. За ключевым словом for следует переменная in/of итерируемого оператора (строка, массив, объект), заключенная в круглые скобки, за которым следует блок кода, заключенный в фигурные скобки.

В Python цикл for in используется для перебора строк, списков или словарей (примеры списков и словарей см. в предыдущей записи блога). За ключевым словом for следует переменная в итерируемом операторе (без круглых скобок), за которым следует двоеточие, а затем блок кода (без фигурных скобок).

// JavaScript (Strings)
let str = 'hello';
for(let letter of str) {
  console.log(letter);
}
// or
for(let letter of str) { console.log(letter); }
# Python (Strings)
str = 'hello'
for letter in str:
  print(letter)
# or
for letter in str: print(letter)

// JavaScript (Arrays)
let arr = [1, 2, 3];
for(let num of arr) {
  console.log(num);
}
# Python (Lists)
list = [1, 2, 3]
for num in list:
  print(num)
// JavaScript (Objects)
let obj = { one: 1, two: 2, three: 3 };
for(let key in obj) {
  console.log(key, obj[key]);
}
# Python (Dictionaries)
dict = { 'one': 1, 'two': 2, 'three': 3 }
for key in dict :
  print(key, dict[key])

Заявление «если-иначе»

Для сравнения мы будем использовать оператор Else-If для JavaScript и оператор Elif для Python. В JavaScript за ключевым словом if следует условный оператор, заключенный в круглые скобки, за которым следует блок кода, заключенный в фигурные скобки. Ключевые слова else if следуют за фигурными скобками, за ними следует еще один условный оператор и последующий блок кода. Оператор закрывается ключевым словом else и последним блоком кода (заключенным в фигурные скобки.

В Python за ключевым словом if следует условный оператор (без круглых скобок), за которым следует двоеточие и блок кода (без фигурных скобок). Ключевое слово elif следует на следующей строке с сопровождающим условным оператором, двоеточием и блоком кода (опять же без скобок и фигурных скобок). Ключевое слово else следует на следующей строке с другим двоеточием и блоком кода.

// JavaScript
let x = 5;
if(x > 10) {
  console.log("x is bigger than 10");
} else if(x < 10) {
  console.log("x is less than 10");
} else {
  console.log("x equals 10");
}
// or
let x = 5;
if(x > 10) { console.log("x is bigger than 10"); } 
else if(x < 10) { console.log("x is less than 10"); } 
else { console.log("x equals 10"); }
# Python
x = 5
if x > 10 :
  print("x is bigger than 10")
elif x < 10 :
  print("x is less than 10")
else :
 print("x equals 10") 
# or
x = 5
if x > 10 : print("x is bigger than 10")
elif x < 10 : print("x is less than 10")
else : print("x equals 10")

Вывод

Python и JavaScript имеют очень похожую структуру циклов и условных операторов (if-else). Основным отличием является наличие скобок и фигурных скобок в JavaScript и наличие двоеточия в Python. Я признаю, что хорошее знание JavaScript сделало изучение Python более быстрым и легким.