4.5.2对象身份比较

                                        整数对象和
字符串对象是不可变对象,所以 Python 会很高效的缓存它们。这会造成我们认为 Python 应该
创建新对象时,它却没有创建新对象的假象。

 

 >>> foo1 = 4.3
>>> type(foo1)
<type 'float'>
>>> type(4.3)
<type 'float'>
>>> fool is 4.3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'fool' is not defined
>>> foo1 is 4.3
False
>>> foo2 = 3.0 + 1.3
>>> foo1 is foo2
False
>>> foo2
4.2999999999999998
>>> foo1
4.2999999999999998
>>> foo3 = 4.3
>>> foo3
4.2999999999999998
>>> foo3 is foo1
False
>>> foo4 = foo1
>>> foo4 is foo1
True
>>> int1 = 5
>>> int1
5
>>> int2 = 3 + 2
>>> int2
5
>>> int1 is int2
True
>>>

>>> id(int1)
160829192
>>> id(int2)
160829192
>>> id(foo3)
161455492
>>> id(foo1)
160974508
>>> id(foo4)
160974508
>>>


发布了45 篇原创文章 · 获赞 3 · 访问量 14万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章