python中的 和is與小整數池的關係

2021-10-04 04:26:43 字數 448 閱讀 6996

==:是判斷兩個值是否相等

is:是判斷兩個值的記憶體位址是否相等

小整數池:在python中為了優化記憶體而產生出一種優化方案,python直譯器啟動時會事先申請一系列的記憶體空間,存放常用的整數,範圍在-5~256

注意:在pycharm中,對小整數池做了一定的處理,開闢的記憶體空間大於python直譯器開闢的記憶體空間

id不同,值可能會相同,因為兩塊記憶體可以存放相同的的值

id相同,值一定相同

變數的值是變數名,那麼一般不會開出乙個新的記憶體位址

變數的值是新的值,不在小整數池的範圍內,就會開出乙個新的位址位址

python 求整數的和與均值

python 求整數的和與均值 描述 讀入n 1 n 10000 個整數,求它們的和與均值。輸入 輸入第一行是乙個整數n,表示有n個整數。第2 n 1行每行包含1個整數。每個整數的絕對值均不超過10000。輸出輸出一行,先輸出和,再輸出平均值 保留到小數點後5位 兩個數間用單個空格分隔。樣例輸入 4...

python小整數與str資料池,編碼關係

1 小資料池 數字,字串 數字的範圍 5 256 字串 1,不能有特殊字元 2,s 20 還是乙個位址,s 21以後都是兩個位址 2 編碼關係 ascii a 00000010 8位 乙個位元組 unicode a 00000000 00000001 00000010 00000100 32位 四個...

小和大整數物件池以及is與 的區別

在實際的程式設計中,數值比較小的整數,比如1 2 29等,可能在程式中會非常頻繁地使用。在python中,所有的物件都是存活在系統堆上。這就是說,如果沒有特殊的機制,對於這些頻繁使用的小整數物件,python將一次又一次地使用malloc在對上申請空間,並且不厭其煩地一次次free。這樣的操作不僅大...