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

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

Barbara Streisand
Barbara Streisandオリジナル
2024-12-14 18:27:16931ブラウズ

Why Does Python 3 Perform Floating-Point Division Instead of Integer Division?

Python が整数の除算で浮動小数点除算を実行する理由

Python の最近のバージョン (3 以降) では、整数の除算 (2 つの整数の除算) は、浮動小数点の代わりに浮動小数点数を生成します。整数。この動作は、整数オペランドの整数結果を優先した以前のバージョンとは異なります。

Python 3 の次の除算を考えてみましょう。

>>> 2 / 2
1.0

この驚くべき結果は、特に次のような場合に混乱を引き起こす可能性があります。古い Python バージョンに慣れています。

変更の背後にある理由

その理論的根拠この変更は、PEP-238: 除算演算子の変更に記載されています。この提案の目的は次のとおりです。

  • // 演算子で示される明確なフロア分割を導入します。
  • 混合型オペランドによる意図しない型変換とラウンドトリップ エラーの可能性を排除します。

コードへの影響

この変更Python コードにはいくつかの影響があります。

  • 整数の除算 (ゼロに向かって丸める) が必要な場合は、// 演算子を明示的に使用します。
  • 浮動小数点数の結果が期待される場合、キャストは次のようになります。不要です。
  • 読みやすさを最大限に高めるために、意図を伝えるために // および / 演算子を慎重に使用することを検討してください。

例:

# Explicit floor division
result = 2 // 2  # 1

# Float division
result = 2 / 2  # 1.0

追加リソース

  • [PEP-238: 除算演算子の変更](https://www. python.org/dev/peps/pep-0238/)

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

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