Python 整數物件is比較

2021-09-21 06:43:48 字數 792 閱讀 6294

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整數的賦值也是通過構造新的物件來實現的。例如 但是由於小的整數使用非常頻繁,因此多次重複的申請和釋放記憶體將會產生大量系...