python 整數用is比較
is 比較的是兩個物件的id值(記憶體中的位址)
[-5,256]之間常用整數對比
在比較整數時,要知道python對於常用整數的儲存,[-5,256]之間的整數是存放在快取中的鍊錶中,需要使用時不再建立新的物件,而是直接引用物件
通過以下**可以看到區別
>>> a = 10
>>> b = 10
>>> a is b
true
>>> a = -6
>>> b = -6
>>> a is b
false
>>> a = 257
>>> b = 257
>>> a is b
false
另外在同乙個**塊中,如果建立乙個物件,則會先直接引用**塊中已有的物件,否則建立乙個新的物件,即同乙個**塊中建立相同的物件會引用同一物件,不同**塊中會建立不同的物件
例項**如下,b和c在同一**塊中,所以是同乙個物件,a在另外乙個**塊中,則建立的物件不同:
>>> a = 257
>>> def main():
b = 257
c = 257
print(b is c)
print(b is a)
print(c is a)
>>> if __name__ == "__main__":
main()
true
false
false
Python 整數比較(is, )
在 python 中一切都是物件,整數也是物件,在比較兩個整數時有兩個運算子 和is,它們的區別是 知道了is和 的區別之後,我們可以來看看下面的 了解python中整數比較有哪些坑 def main x y 1 while true x 1 y 1if x is y print d is d x,...
Python解惑 整數比較
python 中常用的資料型別bool 布林 型別的例項物件 值 就兩個,真和假,分別用true和false表示。在if 條件判斷和while 語句中經常用到,不過在python2.x 中,true 和false 卻有著奇怪的用法,就是真假可以相互被替換,先看下面 true true false f...
Python整數物件相關
眾所周知,pyobject是python中所有物件的基石。python的物件,本質上就是c中的結構體。typedef struct object pyobject 因此,每次int整數的賦值也是通過構造新的物件來實現的。例如 但是由於小的整數使用非常頻繁,因此多次重複的申請和釋放記憶體將會產生大量系...