python中的is和==的区别
2018-03-11 08:57
369 查看
python对象的三个基本要素:id,type,value
==叫做比较操作符,是用来判断value是否相等a='hudahai'
b='hudahai'
print(a==b)结果为:True
而is是同一性操作符,就是比较对象的唯一身份标识,就是id是否相同
a='hudahai'
b='hudahai'
print(a is b)结果为:True
这个出乎意料,为什么呢?因为对a赋值,相当于开辟一个区间用来存储"hudahai",而对b赋值,相当于从新开辟一个区间用来存储"hudahai"。也就是a指向的对象和b指向的对象应该是分别存储在两个区域的。就是说,(a is b)的结果应该为False。
但是这个结果为True是因为什么呢?这是由于python会缓存短小的整形和字符串。
整型是指[-5,256]
同一个代码块中的不可变对象,只要值相等就不会重复创建新的对象。
==叫做比较操作符,是用来判断value是否相等a='hudahai'
b='hudahai'
print(a==b)结果为:True
而is是同一性操作符,就是比较对象的唯一身份标识,就是id是否相同
a='hudahai'
b='hudahai'
print(a is b)结果为:True
这个出乎意料,为什么呢?因为对a赋值,相当于开辟一个区间用来存储"hudahai",而对b赋值,相当于从新开辟一个区间用来存储"hudahai"。也就是a指向的对象和b指向的对象应该是分别存储在两个区域的。就是说,(a is b)的结果应该为False。
但是这个结果为True是因为什么呢?这是由于python会缓存短小的整形和字符串。
整型是指[-5,256]
同一个代码块中的不可变对象,只要值相等就不会重复创建新的对象。
相关文章推荐
- python中==和is的区别
- Python学习之"is" 与 "==" 的区别详解
- Python中is和==的区别
- Python自学之is和‘==’的区别
- Python中 == 与 is 的区别和应用场景
- Python 类型判断 变量存在判断 None与空字符串 is和==区别 nan inf判断
- Python中is和==的区别
- Python 中的None以及 == 与 is 的区别,以及判断某个list或者dict元素是否为None
- Python is和==的区别
- python中 is 和 == 的区别
- python中is 与 == 的区别
- Python中is和==的区别
- python判断语句is与==的区别
- python3 ==和is的区别
- Python中is和==的区别
- Python中is和==的区别
- python 小知识点 "==" 与 "is"的区别
- Python中==和is的区别
- ==,is,isinstance的区别(Python)
- python 包和模块 等于号(==)和is的区别与联系 对象的拷贝(copy)