Python 中的最大整數
Muhammad Waiz Khan
2021年2月28日
本教程將討論不同版本 Python 中的最大整數值,以及我們如何獲取它。
在 Python 2 中,整數和長整數是不同的資料型別。整數的極限值是 231-1,如果數值超過了極限值,變數的資料型別會自動切換為長整數,並且不會引發異常。變數的資料型別一旦切換為 long 資料型別,可以是機器能夠儲存的最大資料型別,意味著在 Python 2 中,long 沒有明確的限制。
在 Python 3 中,我們沒有將整數和長資料型別分開,這意味著在超過 231-1 的限制後,變數資料型別將不會被切換。簡而言之,Python 3 中的整數和 Python 2 中的長整型工作方式一樣,並且其值可以等於計算機可以儲存的最大值。
在 Python 中使用 sys
模組獲取最大整數值
正如我們上面所討論的那樣,在 Python 3 中,整數沒有限制或最大值,但在 Python 2 中,整數是有限制的,過了這個限制,變數的資料型別就會切換為長資料型別。
我們可以通過使用 sys.maxint
來獲取 Python 2 中的最大整數值,等於 231-1。下面的示例程式碼演示瞭如何使用 sys.maxint
來獲取 Python 2 中的最大整數值。
import sys
print(sys.maxint)
輸出:
9223372036854775807
在 Python 3 中,sys.maxint
不存在,因為整數資料型別沒有限制或最大值。但是我們可以使用 sys.maxsize
來獲取 Py2 和 3 中 Py_ssize_t
型別的最大值。這也是列表、字串、字典和類似容器型別可以擁有的最大尺寸。
下面的示例程式碼演示瞭如何在 Python 中獲取容器型別的最大值。
import sys
print(sys.maxsize)
如果我們需要獲取整數的最大值或最小值,以便在條件檢查中使用,我們可以使用 float('inf')
和 float('-inf')
來獲取 Python 中的正負無窮大。
示例程式碼:
print(float('inf'))
print(float('-inf'))
輸出:
inf
-inf