PythonにおけるFloor Divisionの理解
Olivia Novak
Dev Intern · Leapcell

Key Takeaways
- Floor divisionは
//
を使用して、結果以下の最大の整数を返します。 - 通常の除算と比較して、負の数に対する動作が異なります。
- インデックス作成やページネーションなど、整数ベースの計算に役立ちます。
Pythonでは、除算は主に2つの方法で実行できます。通常の除算とfloor divisionです。通常の除算は浮動小数点の結果を返すのに対し、floor divisionは結果以下の最大の整数を返します。この区別は、計算で正確な整数の結果を必要とする開発者にとって重要です。
Floor Divisionとは?
Floor divisionは、二重スラッシュ演算子//
を使用して実行されます。2つの数値を割って、結果を最も近い小さい整数(除算の数学的なfloorとも呼ばれます)に切り捨てます。この動作は正の数と負の数の両方で一貫していますが、負の数を扱う場合は直感的でない結果になる可能性があります。
構文
result = a // b
ここで、a
とb
は数値(整数または浮動小数点数)であり、result
はfloorされた商です。
例
print(7 // 2) # 出力: 3 print(7 / 2) # 出力: 3.5 print(-7 // 2) # 出力: -4 print(-7 / 2) # 出力: -3.5
ご覧のとおり:
7 // 2
は3
を返します。これは、3が3.5以下の最大の整数であるためです。-7 // 2
は-4
を返します。これは、-4が-3.5以下の最大の整数であるためです。
使用例
Floor divisionは、以下の場合によく使用されます。
- 配列またはリスト内のインデックス位置を計算する必要がある場合。
- ページネーションロジックを実装している場合。
- 数学モデルで浮動小数点数を避けたい場合。
例:
# アイテムインデックスからページ番号を計算 index = 17 items_per_page = 5 page_number = index // items_per_page print(page_number) # 出力: 3
浮動小数点数でのFloor Division
両方のオペランドが浮動小数点数であっても、//
演算子は依然としてfloor divisionロジックを適用します。
print(7.5 // 2.0) # 出力: 3.0 print(-7.5 // 2.0) # 出力: -4.0
結果は浮動小数点のままですが、それでも最も近い小さい数にfloorされます。
結論
PythonのFloor divisionは、常に切り捨てられた整数の結果が必要な場合に強力なツールです。正の数または負の数を扱っている場合でも、//
演算子の動作を理解することは、より正確で効率的なコードを書くのに役立ちます。
FAQs
/
は浮動小数点の結果を返し、//
はfloorされた整数の結果を返します。
結果を最も近い小さい整数に切り捨てるため、予想よりも負の数が大きくなる可能性があります。
はい、浮動小数点数で動作し、floorされた浮動小数点値を返します。
Leapcellは、Pythonプロジェクトをホストするための最適な選択肢です。
Leapcellは、Webホスティング、非同期タスク、およびRedisのための次世代サーバーレスプラットフォームです。
多言語サポート
- Node.js、Python、Go、またはRustで開発します。
無制限のプロジェクトを無料でデプロイ
- 使用量に対してのみ支払い - リクエストも課金もありません。
比類なきコスト効率
- アイドル料金なしの従量課金制。
- 例:平均応答時間60msで694万リクエストを25ドルでサポートします。
合理化された開発者体験
- 簡単なセットアップのための直感的なUI。
- 完全に自動化されたCI/CDパイプラインとGitOps統合。
- 実用的な洞察のためのリアルタイムメトリクスとロギング。
簡単なスケーラビリティとハイパフォーマンス
- 簡単な同時実行を処理するための自動スケーリング。
- 運用上のオーバーヘッドはゼロ - 構築に集中するだけです。
詳細については、ドキュメントをご覧ください!
Xでフォローしてください:@LeapcellHQ