為什麼 Python 將帶有前導零的數字解釋為八進制?

Mary-Kate Olsen
發布: 2024-11-21 03:34:26
原創
306 人瀏覽過

Why Does Python Interpret Numbers with Leading Zeros as Octal?

Python 帶有前導零的奇怪行為

使用Python 時,輸入以0 開頭的小整數時可能會遇到意外結果。異常源自於該語言能夠以 8 為基數解釋這些數字(稱為八進位數)。

具體來說,Python 解釋器將這些前導零視為八進位表示形式的指示。例如,整數 011 被解釋為:

011 = 1⋅8¹ + 1⋅8⁰ = 9 (in octal)
登入後複製

這解釋了為什麼當您在 Python 解釋器中鍵入「011」時傳回值 9。

但是,此行為是版本-具體的。在 Python 3 中,必須使用「0o」前綴明確表示八進位常數。例如:

0o11 = 1⋅8¹ + 1⋅8⁰ = 9 (in octal)
登入後複製

在 Python 2.6 及更高版本中,支援舊的(前導 0)和新的(0o 前綴)格式。

總而言之,Python 中的前導零表示八進位數。在 Python 2 中,這些數字只能使用前導零來表示,而在 Python 3 中,需要「0o」前綴。

以上是為什麼 Python 將帶有前導零的數字解釋為八進制?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板