關於python的運算符 is 和 ==,你會覺得很簡單嘛,is不就是判斷,內存地址是否相等嗎,
==不就是判斷值是否相等嘛,有什么難的。對,確實簡單,但看看下面的:
如果 我這樣寫,a = 5,b= a ,這樣很容易理解阿,b指向a指向的內存地址,a is b 是True 很容易理解阿
但是,我是a = 1, b= 1,難道不應該再開一個內存嘛,應該 a is b 是F阿,既然是True,只能說明,a 和b的
內存地址是一樣的了,但又看下面,怎么就不是Flase了,這就很奇怪了,我當時就在想,難道python內部已
經存在這些值的內存地址了嘛,沒錯,python內部有一個常見的數據的池,整數是-5到255,也就是說,a = 300,
b = 300, a is b 是F了,這樣也就說的通了,關於字符串為啥一樣,大家可以思考一下,內存地址是肯定一樣的
應該就是python內存的機制吧
是這樣的 呵呵
== 就很簡單了,只要值一樣就行了