总结:

  • =:是赋值
  • ==:是判断是否相等,比较的是对象的值,返回True或False
  • is:比较的是对象的内存地址,即is比较的是两个对象的id值是否相同。is 运算符比 == 效率高,在变量和None进行比较时,应该使用 is。

 

注意:python的缓存机制,-5~256范围内的数内存地址被缓存。这样,每次你试图创建一个 -5 到 256 范围内的整型数字时,Python 都会从这个数组中返回相对应的引用,而不是重新开辟一块新的内存空间。

>>> a = 1
>>> b = 1
>>> a == b
True
>>> a is b
True
>>> a = 257 >>> b = 257 >>> a == b #a,b的值相等,内存地址不相等 True >>> a is b False

>>> id(a)
57320560
>>> id(b)
57323248

 

 

Python中对象包含的三个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)

posted on 2019-10-01 20:47  腿短毛不多  阅读(253)  评论(0编辑  收藏  举报