1. 算術演算子
算術演算子は数値を使った計算に使います。 Pythonには基本的な四則演算に加え、整数除算・余り・べき乗も1つの記号で書けます。
| 演算子 | 意味 | 例 | 結果 |
|---|---|---|---|
+ | 加算 | 10 + 3 | 13 |
- | 減算 | 10 - 3 | 7 |
* | 乗算 | 10 * 3 | 30 |
/ | 除算(小数) | 10 / 3 | 3.333... |
// | 整数除算(切り捨て) | 10 // 3 | 3 |
% | 余り(モジュロ) | 10 % 3 | 1 |
** | べき乗 | 2 ** 8 | 256 |
💡 ポイント:
/ は常に小数(float)を返します。整数同士でも 10 / 2 は 5.0 です。
整数の答えが欲しいときは // を使いましょう。
💡 print() の ,(カンマ)は型が違っても使えます:
レッスン2では "文字" + 数値 は TypeError になると学びました。
しかし print() にカンマで渡すと、Pythonが自動で各値を文字列に変換してスペース区切りで表示してくれます。
bmi = 22.14
print("BMI:", bmi) # ✅ → BMI: 22.14(カンマ区切りはOK)
print("BMI: " + bmi) # ❌ → TypeError(+ での連結はNG)
print("BMI: " + str(bmi)) # ✅ → BMI: 22.14(str() で変換すればOK)
💡 演算子の優先順位(数学と同じルール):
複数の演算子が混在するとき、Pythonは「どの順番で計算するか」を決まったルールで処理します。
基本は数学と同じく 「べき乗 → 乗除 → 加減」 の順です。
| 優先度(高い順) | 演算子 | 例 | 計算結果 |
|---|---|---|---|
| 1(最高) | **(べき乗) | 2 + 3 ** 2 | 11(3²=9 を先に計算) |
| 2 | * / // %(乗除) | 2 + 3 * 4 | 14(3×4=12 を先に計算) |
| 3(最低) | + -(加減) | (2 + 3) * 4 | 20(() で先に計算) |
# BMI計算: weight / height ** 2
# → height ** 2 が先に計算される(**の優先順位が高い)
# → その後 / で割る
bmi = weight / height ** 2 # ✅ 正しい(height を2乗してから割る)
bmi = weight / (height ** 2) # 同じ意味(() で明示するとより読みやすい)
bmi = (weight / height) ** 2 # ❌ 意味が変わる!(割ってからべき乗)
迷ったときは () で明示的にグループ化するのが最も安全です。
2. 比較演算子
比較演算子は2つの値を比べ、結果を True(真)または False(偽)で返します。
次のレッスン「条件分岐」で if 文と組み合わせて使います。
AIモデルの精度評価(予測値 == 正解か?)でも毎回登場します。
⚠ = と == の違いに注意:
=(1つ)は代入演算子で、変数に値をセットするときに使います。
==(2つ)は等値比較演算子で、左右が等しいか確認し True/False を返します。
次回学ぶ条件式では必ず == を使いましょう。
3. 論理演算子
論理演算子を使うと、複数の条件を組み合わせられます。
and(両方真)・or(どちらか真)・not(反転)の3つです。
機械学習では「精度が高く、かつ再現率も高い」といった複合条件の評価でよく使います。
4. 代入演算子
+= や -= は変数の値を更新する省略形です。
たとえば epoch += 1 は epoch = epoch + 1 とまったく同じ意味で、右辺を省略して短く書けるようにしたものです。
ループの中でカウントや累積を行うときに多用します。
後で学ぶ機械学習のコードでも毎回登場するパターンです。
🤖 次のコードに出てくるAI用語について:
コード例では機械学習に関する用語が登場しますが、今の段階で意味を完全に理解する必要はありません。
- epoch(エポック):AIが全データを学習する1回分の繰り返しを指します
- loss(損失):AIの予測がどれくらい外れているかを表す数値(小さいほど良い)
ここでは「+= を使うと変数の値が毎回積み上がっていく」という動きの流れだけを確認しましょう。用語の詳細はAIコースで改めて学びます。
5. 練習問題
BMIを計算しよう
体重 weight = 58.0(kg)・身長 height = 1.65(m)からBMIを計算し、表示してください。BMI = 体重 ÷ 身長²
ヒントを見る(答え+解説)
weight = 58.0 # kg
height = 1.65 # m
# BMIを計算してprintしてください
bmi = weight / height ** 2
print(bmi) # 21.30...
print(f"BMI: {bmi:.2f}") # BMI: 21.30
** がべき乗演算子です。height ** 2 は height * height と同じ。/ の結果は必ず小数(float)になります。
複合条件で判定しよう
年齢 age = 55、喫煙歴 is_smoker = True の患者について、「40歳以上 かつ 喫煙者」かどうかを論理演算子で判定し、結果を表示してください。
ヒントを見る(答え+解説)
age = 55
is_smoker = True
# 「40歳以上 かつ 喫煙者」かどうかを and で判定して表示してください
high_risk = (age >= 40) and is_smoker
print(high_risk) # True
print(f"ハイリスク: {high_risk}")
and は左右両方が True のときだけ True になります。比較演算子の結果を and/or でつなぐことで複数条件を一度に評価できます。
奇数・偶数を判定しよう
患者ID patient_id = 47 が奇数かどうかを %(余り)を使って判定してください。余りが 0 なら偶数、1 なら奇数です。
ヒントを見る(答え+解説)
patient_id = 47
# % 2 の結果を表示して、奇数かどうか確認してください
remainder = patient_id % 2
print(remainder) # 1
print(remainder == 1) # True(奇数)
print(remainder == 0) # False(偶数ではない)
% は割り算の余りを返します。% 2 の結果が 0 なら偶数、1 なら奇数です。データの均等分割やバッチ処理でも頻繁に使います。
6. まとめ
このレッスンのポイント
**はべき乗(2乗・3乗)。BMIや正規化計算で頻出//は切り捨て除算、%は余り。バッチ分割やデータ均等化でも使う- 比較演算子は
True/Falseを返す。次の「条件分岐」の基礎 and/or/notで複雑な条件を表現できる+=などの代入演算子は学習ループのカウント更新で多用する
自由に計算を試してみましょう。
完了するとコース一覧に進捗が記録されます