首頁  >  文章  >  後端開發  >  瞭解Python中整數物件儲存的位置

瞭解Python中整數物件儲存的位置

大家讲道理
大家讲道理原創
2016-11-07 11:35:181556瀏覽

在Python 整型物件所儲存的位置是不同的, 有一些是預先分配記憶體的,它一直儲存在記憶體裡面, 而其它的, 則在使用時開闢出空間.

說這句話的理由,可以看看如下碼:   

a = 5
b = 5
a is b # True
a = 500
b = 500
a is b # False

由上面的代碼可知, 整數5 是一直存在的, 而整數500 不是一直存在的.

那麼有哪些整數是預先分配內存地址的re?

a, b, c = 0, 0, 0
i = 0
while a is b:
    i += 1
    a, b = int(str(i)), int(str(i))
else:
    print(i) # 打印 257

由上所知, 小於或等於256 (2**8) 的非負整數是一直儲存的,(也就是說它們的記憶體位址是預先開闢出來的, 不需要後面再分配)   

a = -1
b = -1
a is b # False

而負數不會預先開闢.

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