Back

Pythonにおける `//` の意味(例を含む)

Pythonにおける `//` の意味(例を含む)

Pythonでは、//床除算演算子 です。2つの数を割り、結果を最も近い整数に 切り下げ ます。

例えば:

print(10 // 3)  # 出力: 3
print(-10 // 3) # 出力: -4

重要なポイント

  • //床除算 を行い、結果を 切り下げ ます。
  • 整数浮動小数点数 の両方で動作します。
  • 常に 負の無限大 (-∞) に向かって 丸めます

床除算 (//) の理解

// 演算子は2つの数を割りますが、浮動小数点の結果を返す代わりに、最も近い整数に 切り捨て ます(切り下げます)。

例:

print(7 // 2)   # 出力: 3 (3.5ではなく)
print(-7 // 2)  # 出力: -4 (-∞に向かって丸める)

// は浮動小数点数をどのように扱うか?

オペランドの1つが 浮動小数点数 であっても、結果は浮動小数点形式で 床関数 が適用されたままです。

print(7.0 // 2)   # 出力: 3.0
print(-7.5 // 2)  # 出力: -4.0

/// の違い

演算子 説明 例 / 通常の除算 (浮動小数点数を返す) 5 / 2 = 2.5 // 床除算 (切り下げる) 5 // 2 = 2

// はいつ使うべきか?

  • 整数のみが必要な場合 (例: アイテムの数を数える)。
  • 浮動小数点数の精度エラーを回避する場合 (例: 配列のインデックス指定)。
  • ループ内で整数の結果を保証する場合

例:ページネーションに // を使用する:

items_per_page = 10
total_items = 95

pages = total_items // items_per_page
print(pages)  # 出力: 9

よくある質問

いいえ、オペランドの1つが浮動小数点数の場合、結果は浮動小数点数になります。

`//` は負の無限大 (`-∞`) に向かって丸めるからです。

はい、`a // b` は `math.floor(a / b)` と等価です。

結論

Pythonの // 演算子は 床除算 を行い、結果を最も近い整数に 切り下げ ます。整数の計算、ループ、ページネーション を扱う際に便利です。

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers