🦄

JavaScript分かる人のためのPython書き換え

2022/10/14に公開

拡張子

言語 拡張子
JavaScript .js
Python .py

コメントアウト

JavaScript
// 1行コメント
/*
  複数行コメント
*/
Python
# 1行コメント
'''
複数行コメント
'''

結果出力

JavaScript
console.log("Hello World");
Python
print("Hello World")

変数と型

JavaScript
let str = "文字列";
let i = 100;
Python
char = "文字列" # ※strは予約語
i = 100

定数※Pythonに定数はない

JavaScript
const str = "文字列";
const i = 100;
Python
# Pythonに定数はないので、変数で代用(変数なので再代入可能)
MESSAGE = "文字列"
NUM = 100

文字列結合

JavaScript
console.log("Hello " + "World");
Python
print("Hello " + "World")

式と演算子

JavaScript
console.log(10 + 5); // 加算
console.log(10 - 5); // 減算
console.log(10 * 5); // 乗算
console.log(10 / 5); // 徐算
console.log(10 % 3); // 剰余
console.log(10 ** 3); // べき乗
Python
print(10 + 5) # 加算
print(10 - 5) # 減算
print(10 * 5) # 乗算
print(10 / 5) # 徐算
print(10 % 3) # 剰余
print(10 ** 3) # べき乗

条件分岐(if文)

JavaScript
const score = 80;
if (score === 100) {
  console.log("満点");
} else if (score >= 60) {
  console.log("合格");
} else {
  console.log("不合格");
}
Python
score = 80
if score == 100:
  print("満点")
elif score >= 60:
  print("合格")
else:
  print("不合格")

条件分岐(switch文※Pythonにswitch文はない)

JavaScript
const country = "Japan";
switch (country) {
  case "Japan":
  case "Korea":
    console.log("Asia");
    break;
  case "Estonia":
    console.log("Europe");
    break;
  default:
    console.log("Earth");
    break;
}
Python
# Pythonにswitch文はないので、if文で代用
country = "Japan"
if country == "Japan" or country == "Korea":
  print("Asia")
elif country == "Estonia":
  print("Europe")
else:
  print("Earth")

比較演算子と論理演算子

JavaScript
console.log(10 == 10); // 等しい
console.log(10 != 9);  // 等しくない
console.log(10 < 11);  // より小さい
console.log(10 <= 10); // 以下
console.log(10 > 9);   // より大きい
console.log(10 >= 10); // 以上
console.log(4 < 5 && 5 <= 5); // 論理積
console.log(4 < 5 || 5 < 5); // 論理和
console.log(!(5 < 5)); // 論理否定
Python
print(10 == 10) # 等しい
print(10 != 9)  # 等しくない
print(10 < 11)  # より小さい
print(10 <= 10) # 以下
print(10 > 9)   # より大きい
print(10 >= 10) # 以上
print(4 < 5 and 5 <= 5) # 論理積
print(4 < 5 or 5 < 5)   # 論理和
print(not 5 < 5) # 論理否定

配列(静的)

JavaScript
const scores = [80, 50, 70];
console.log(scores[0]);
console.log(scores[1]);
console.log(scores[2]);
Python
scores = [80, 50, 70]
print(scores[0])
print(scores[1])
print(scores[2])

配列(動的)

JavaScript
let scores = [];
scores.push(80);
scores.push(50);
scores.push(70);
scores.pop(); // 配列の最後の値を削除
scores.shift(); // 配列の最初の値を削除
Python
scores = []
scores.append(80)
scores.append(50)
scores.append(70)
scores.pop() # 配列の最後の値を削除
scores.pop(0) # 配列の最初の値を削除

繰り返し(for文)

JavaScript
for (let i = 0; i < 10; i++) {
  console.log(i);
}
Python
for i in range(10):
  print(i)

繰り返し(配列のfor文)

JavaScript
let scores = [];
scores.push(80);
scores.push(50);
for (let i = 0; i < scores.length; i++) {
  console.log(scores[i]);
}
Python
scores = []
scores.append(80)
scores.append(50)
for score in scores:
  print(score)

オブジェクト

JavaScript
const scores = {
  japanese: 80,
  english: 50,
  math: 70
}
console.log(scores.japanese);
console.log(scores["english"]);
Python
scores = {"japanese": 80, "english": 50, "math": 70}
print(scores["japanese"])
print(scores.get("english"))

関数

JavaScript
function getGreeting(timeZone) {
  if (timeZone === "朝") {
    return "おはよう";
  } else {
    return "こんにちは";
  }
}
console.log(getGreeting("朝"));
Python
def getGreeting(timeZone):
  if timeZone == "朝":
    return "おはよう"
  else:
    return "こんにちは"
print(getGreeting("朝"))

Discussion