Python学习笔记——is与==

这篇内容比较简单。

例:

Python学习笔记——is与==

通俗解释:

a是个苹果手机,b是个苹果手机
问题一(==):
a和b都是苹果手机么?

问题二(is):
a手机就是b手机么?

虽然a和b中指向的地址存储的数据相同,但是他们指向地址是不同的。


例外:

Python学习笔记——is与==

1、单纯针对数字

然后我自己写了个小循环,找出了a is b的区间

先看负数

Python学习笔记——is与==

再看正数

Python学习笔记——is与==

由上可知
设 -6 < x < 257
假如执行 a = x
在给变量赋数字类型值的时候,py君先在存储空间找有没有已经存在的x,如果有就直接把x的地址放在a中,如果没有就新开辟空间把x放进去,然后将其地址放在a中。

2、单纯针对字符串

在我的尝试中
(1)大小写字母加数字,一般is判断都是true。
注:如果要用for循环找的话,从i = 2 开始就是false了。

Python学习笔记——is与==

(2)大小写字母或数字加上任意特殊字符,is判断都是false。

3、其他类型

我做了一个简单的测试,元组可能特殊一些具体如下图。

Python学习笔记——is与==

元组有一个元素的时候可能会特殊一些,这又回到了之前写数字和字符的情况。

以上。