1.对象比较
注意如下:
eg1:
>>>a=b=1
>>> a is b
Ture
eg2:
>>>a=4
>>>b=4
>>> a is b
Ture
eg3:
>>>a=4.1
>>>b=3.0+1.1
>>>a is b
False
原因:首先是一个数字对象被建了,传给了a,接着创建了第二个数字对象传给了b,尽管2个对象存储的值相同,但是却是2个独立的对象。实际上a is b等于id(a) == id(b),这是一个判断,id()对对象身份的一种识别,返回一个×××或者长×××数字,相同的对象在不叠加的生命时间内,具有相同的id。所以说a is b,答案是false。那么思考eg4和eg5,结果会让你惊奇。
eg4:
>>>a=4
>>>b=3+1
>>>a is b
?
eg5:
>>>a=1.0
>>>b=1.0
>>>a is b
?