【Python】数値演算と演算子の基本をわかりやすく解説

Python

こんにちは、かつコーチです。

Pythonでプログラムを組んでいくと、必ず登場するのが演算子です。

///の違いが分からない」

**って何の記号?」

そんな初心者がつまずきやすいポイントを中心に、算術演算子・比較演算子・論理演算子をまとめて解説します。

算術演算子の基本

四則演算

Pythonの算術演算子は、他の言語とほぼ同じです。

a = 10
b = 3

print(a + b)
print(a - b)
print(a * b)
print(a / b)
13
7
30
3.3333333333333335

/は常にfloat型(小数)で結果を返す点に注意してください。

切り捨て除算(//)

//は、割り算の結果を切り捨てて整数にする切り捨て除算の演算子です。

a = 10
b = 3

print(a // b)
3

10÷3は3.33…ですが、//を使うと小数部分を切り捨てた「3」だけが返ります。

在庫を人数で均等に分けるときなど、割り切れない余りを無視したい場面でよく使います。

累乗(**)

**は、累乗(べき乗)を計算する演算子です。

a = 2
b = 10

print(a ** b)
1024

2の10乗は1024になります。

平方根を求めたいときは、** 0.5のように指数を小数にすることでも計算できます。

number = 16
print(number ** 0.5)
4.0

剰余(%)

%は、割り算の余りを求める演算子です。

a = 10
b = 3

print(a % b)
1

偶数・奇数の判定などでよく使われます。

比較演算子の基本

比較演算子は、2つの値を比べてTrueFalseを返す演算子です。

演算子意味
==等しい
!=等しくない
>より大きい
<より小さい
>=以上
<=以下
a = 10
b = 3

print(a == b)
print(a != b)
print(a > b)
print(a <= b)
False
True
True
False

論理演算子の基本

and・or・not

論理演算子は、複数の条件を組み合わせて判定するための演算子です。

age = 20
has_ticket = True

# 20歳以上、かつチケットを持っている
print(age >= 18 and has_ticket)

# 未成年、またはチケットを持っていない
print(age < 18 or not has_ticket)
True
False
  • and:両方ともTrueのときだけTrue
  • or:どちらか一方でもTrueならTrue
  • notTrueFalseを反転させる

論理演算子は、次の記事で扱うif文の条件式でも頻繁に使うため、ここでしっかり慣れておきましょう。

よくあるつまずきポイント・エラー対処

/と//を混同して意図しない結果になる

これは筆者が業務スクリプトを書いていて、実際にやらかしたミスです。

「合計金額をチェックしてグループ分けする」処理で、/を使うべきところを//で書いてしまい、結果がすべてずれるというバグを起こしました。

❌ Before(意図と違う結果になる書き方)

total_price = 1000
people = 3

# 一人あたりの金額を計算したいのに、切り捨て除算を使ってしまった
price_per_person = total_price // people
print(price_per_person)
333

一人あたりの正確な金額(333.33…円)が必要な場面で、切り捨てられた「333」しか得られず、合計金額が合わなくなってしまいました。

✅ After(正しい書き方)

total_price = 1000
people = 3

price_per_person = total_price / people
print(f"{price_per_person:.2f}円")
333.33円

「端数を切り捨てて整数で扱いたいのか」「正確な小数値が欲しいのか」を、コードを書く前に明確にしておくことが大切だと痛感しました。

まとめ

この記事のポイント

  • /は常にfloatを返し、//は切り捨てて整数を返す
  • **は累乗、%は余りを求める演算子
  • 比較演算子はTrue/Falseを返す
  • 論理演算子(and/or/not)は複数条件の組み合わせに使う
  • ///の使い分けを誤ると計算結果がずれるので注意する

次に読むべき記事

  • 変数とデータ型の基本
  • if文・elif・elseで条件分岐
  • for文・while文で繰り返し処理

タグ: Python, 初心者向け, 基本文法

タイトルとURLをコピーしました