Python is与==的区别
2016-09-30 22:05
357 查看
虽然有很多类似的介绍,但是我觉得我还得记录下,只有记录下来了才能算是自己的东西。
在pyhon中,==的概念就是值(value)相同就为true,但是is的概念是必须是ID相同,也就是存储地址相同,或者说指向地址相同。
例子
这样子就可以看到明显的不同。
但是因为Python对于短小的int与string类型进行了地址上的优化,所以有时候使用起来==与is基本类似。
例子:
但是float类型却不行:
另外,闲着蛋疼,实测下来int类型最大极限应该是256。
>>> a=256
>>> a is 256
True
>>> id(a)
1511989680
>>> id(256)
1511989680
在pyhon中,==的概念就是值(value)相同就为true,但是is的概念是必须是ID相同,也就是存储地址相同,或者说指向地址相同。
例子
>>> a = [1, 2, 3] >>> b = a >>> b is a True >>> b == a True >>> b = a[:] >>> b is a False >>> b == a True <pre name="code" class="python">>>> id(a) 1905732376584 >>> id(b) 1905732376840
这样子就可以看到明显的不同。
但是因为Python对于短小的int与string类型进行了地址上的优化,所以有时候使用起来==与is基本类似。
例子:
a=4 b=4 a is b结果应为true
但是float类型却不行:
a=2.5 b=2.5 a is b结果为false
另外,闲着蛋疼,实测下来int类型最大极限应该是256。
>>> a=256
>>> a is 256
True
>>> id(a)
1511989680
>>> id(256)
1511989680
>>> a=257 >>> a is 257 False >>> id(a) 2310294174960 >>> id(257) 2310294174800
相关文章推荐
- Python中is和==的区别和联系
- Python中is和==的区别
- python判断语句is与==的区别
- python题目-----is和==区别
- Python中==和is的区别
- Python中is和==的区别
- Python中is与==判断的区别
- Python判断语句中‘is’和‘==’的区别
- [基础] - Python中 is 和 == 的区别
- Python 类型判断 变量存在判断 None与空字符串 is和==区别 nan inf判断
- Python中is和==的区别
- Python中关键字is与==的区别简述
- python关键字is与 ==的区别
- Python中is和==的区别
- Python中 == 与 is 的区别和应用场景
- Python中is与 "=="的区别
- python is == 的区别
- python 小知识点 "==" 与 "is"的区别
- 一题多解(一) —— list(Python)判空(以及 is 与 == 的区别)
- python中is和 == 的区别