整数除算の難題: なぜ整数ではなく浮動小数点を使用するのか?
Python の整数除算の最近の動作、つまり、整数ではなく浮動小数点が生成されます。 integer は、開発者の間で混乱を引き起こしました。この移行は、整数除算で整数を返していた以前のバージョンからの脱却を示しています。
Python 3 で 2 を 2 で除算すると、結果は 1.0 (浮動小数点数) になります。この変更された動作は、int/int 演算で整数を生成していた以前のバージョンに慣れている人にとっては驚くかもしれません。
この変更の根本的な理由は、Python がフロア除算演算子 // を採用したことに由来しており、これは明確に結果を返します。整数の商。この区別を維持するために、標準の除算演算子 (/) は浮動小数点を返すように変更されました。
結果と回避策
この変更は、整数に依存するコードに影響を与えます。分割。開発者には 2 つのオプションがあります:
歴史的コンテキスト
現在の動作は、以前の変更の反転であることに注意してください。 Python 2.x では、除算はデフォルトでフロア除算になりました。この逆転は、明確なフロア除算に // 演算子を導入し、float を返すように標準の除算演算子を変更した PEP-238 によって動機付けられました。
これらの歴史的な変更を理解することは、以前の Python バージョンまたは以前の Python バージョンから移行する開発者にとって重要です。整数の除算に依存するコードのトラブルシューティング。
以上がPython 3 の除算が整数ではなく浮動小数点数を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。