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

?