ホームページ >バックエンド開発 >Python チュートリアル >Python 3 の除算が整数ではなく浮動小数点数を返すのはなぜですか?

Python 3 の除算が整数ではなく浮動小数点数を返すのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-11 10:50:11116ブラウズ

Why Does Python 3's Division Return a Float Instead of an Integer?

整数除算の難題: なぜ整数ではなく浮動小数点を使用するのか?

Python の整数除算の最近の動作、つまり、整数ではなく浮動小数点が生成されます。 integer は、開発者の間で混乱を引き起こしました。この移行は、整数除算で整数を返していた以前のバージョンからの脱却を示しています。

Python 3 で 2 を 2 で除算すると、結果は 1.0 (浮動小数点数) になります。この変更された動作は、int/int 演算で整数を生成していた以前のバージョンに慣れている人にとっては驚くかもしれません。

この変更の根本的な理由は、Python がフロア除算演算子 // を採用したことに由来しており、これは明確に結果を返します。整数の商。この区別を維持するために、標準の除算演算子 (/) は浮動小数点を返すように変更されました。

結果と回避策

この変更は、整数に依存するコードに影響を与えます。分割。開発者には 2 つのオプションがあります:

  • フロア除算演算子 // を使用する: 整数の除算が必要な場合は、// 演算子を明示的に使用する必要があります。
  • 結果を整数にキャスト: あるいは、除算の結果を整数にキャストすることもできますint() 関数を使用して下限商を取得します。

歴史的コンテキスト

現在の動作は、以前の変更の反転であることに注意してください。 Python 2.x では、除算はデフォルトでフロア除算になりました。この逆転は、明確なフロア除算に // 演算子を導入し、float を返すように標準の除算演算子を変更した PEP-238 によって動機付けられました。

これらの歴史的な変更を理解することは、以前の Python バージョンまたは以前の Python バージョンから移行する開発者にとって重要です。整数の除算に依存するコードのトラブルシューティング。

以上がPython 3 の除算が整数ではなく浮動小数点数を返すのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。