首頁 >後端開發 >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 及以上)中,整數除法(兩個整數相除)產生浮點而不是一個整數。此行為與早期版本不同,早期版本傾向於整數運算元的整數結果。

考慮 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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn