Python における除算演算子の理解
Lukas Schneider
DevOps Engineer · Leapcell

Key Takeaways
/は本当の除算を実行し、Python 3 では常に float を返します。//はfloor除算を実行し、負の無限大に向かって切り捨てます。- Python 2 と Python 3 は、デフォルトで除算の処理が異なります。
Python では、除算演算はさまざまな計算タスクの基本です。この言語には、/ と // という 2 つの主要な除算演算子があります。正確で効率的なコードを作成するには、それらの機能と違いを理解することが重要です。
真の除算 (/)
/ 演算子は真の除算を実行し、オペランドの型に関係なく、浮動小数点の結果を返します。この動作により、除算の結果が小数部分を保持することが保証されます。
例:
# 両方のオペランドが整数である場合 result = 5 / 2 print(result) # 出力: 2.5 # オペランドの 1 つが float である場合 result = 5.0 / 2 print(result) # 出力: 2.5
どちらの場合も、結果は float であり、除算の精度が維持されます。
Floor 除算 (//)
// 演算子は floor 除算として知られ、オペランドを除算し、結果を商以下の最大の整数に切り捨てます。結果の型はオペランドの型によって異なります。両方が整数の場合、結果は整数になります。それ以外の場合は、float になります。
例:
# 両方のオペランドが整数である場合 result = 5 // 2 print(result) # 出力: 2 # オペランドの 1 つが float である場合 result = 5.0 // 2 print(result) # 出力: 2.0
最初の例では、結果は整数ですが、2 番目の例では float であり、浮動小数点オペランドの存在を反映しています。
負のオペランドでの動作
負の数を扱う場合、floor 除算は負の無限大に向かって切り捨てます。
例:
result = -5 // 2 print(result) # 出力: -3
ここでは、-5 ÷ 2 は -2.5 になります。Floor 除算はこれを -2.5 未満の最大の整数である -3 に切り捨てます。
さまざまな Python バージョンの除算
Python 2.x では、/ 演算子の動作はオペランドの型によって異なります。
- 両方のオペランドが整数の場合、
/は floor 除算を実行します。 - 少なくとも 1 つのオペランドが float の場合、
/は真の除算を実行します。
Python 2.x の例:
# 整数の除算 result = 5 / 2 print(result) # 出力: 2 # 真の除算 result = 5.0 / 2 print(result) # 出力: 2.5
Python 2.x で一貫した真の除算を実現するには、__future__ モジュールから除算機能をインポートできます。
from __future__ import division result = 5 / 2 print(result) # 出力: 2.5
Python 3.x では、/ は常に真の除算を実行し、// はオペランドの型に関係なく、常に floor 除算を実行します。
実際の応用例
/ と // の違いを理解することは、除算の型がプログラムのロジックに影響を与えるシナリオで重要です。たとえば、容量を超えずにコンテナに収まるアイテムの数を判断する場合、floor 除算が適切です。
例:
total_items = 17 items_per_box = 5 boxes_needed = total_items // items_per_box print(boxes_needed) # 出力: 3
ここでは、// を使用すると、完全に満たされたボックスのみがカウントされます。
FAQs
/ は float (真の除算) を返し、// は floor の結果を返します。
結果を最も近い下位の整数に切り捨てます。たとえば、-5 // 2 は -3 になります。
from __future__ import division を使用して、/ で真の除算を有効にします。
Python プロジェクトをホストするための最適な選択肢である Leapcell です。
Leapcell は、Web ホスティング、非同期タスク、Redis の次世代サーバーレスプラットフォームです。
多言語サポート
- Node.js、Python、Go、または Rust で開発します。
無制限のプロジェクトを無料でデプロイ
- 使用量のみに対して支払い — リクエストも料金も不要です。
他に類を見ないコスト効率
- アイドル料金なしの従量課金制。
- 例: 25 ドルで、平均応答時間 60 ミリ秒で 694 万件のリクエストをサポートします。
合理化された開発者エクスペリエンス
- 簡単なセットアップのための直感的な UI。
- 完全に自動化された CI/CD パイプラインと GitOps 統合。
- 実行可能なインサイトを得るためのリアルタイムのメトリクスとロギング。
容易なスケーラビリティと高性能
- 高い同時実行を容易に処理するための自動スケーリング。
- 運用上のオーバーヘッドはゼロ — 構築に集中するだけです。
詳細については、ドキュメント をご覧ください!
X でフォローしてください: @LeapcellHQ



