1、Python提供了is和is not操作符来测试两个变量是否指向同一个对象。

a is b

这个表达式等价于下面的表达式。

id(a) == id(b)

 

2、

>>> a = 1
>>> id(a)
1502566672
>>>
>>> b = 1
>>> id(b)
1502566672
>>>
>>>
>>> c = 1.0
>>> id(c)
5448880
>>>
>>> d = 1.0
>>> id(d)
3298576
>>>

在上面的例子中,a和b指向了相同的整形对象,但是c和d并没有指向相同的浮点型对象。这是因为Python仅缓存简单整形。整型对象和字符串对象是不可变对象,所以Python会很高效的缓存它们。

相关文章:

  • 2021-12-26
  • 2021-11-17
  • 2022-12-23
  • 2021-10-27
  • 2021-05-18
  • 2021-06-08
  • 2022-02-26
猜你喜欢
  • 2021-07-14
  • 2022-01-22
  • 2022-12-23
  • 2022-12-23
  • 2022-02-15
  • 2022-12-23
  • 2021-04-10
相关资源
相似解决方案