Python中比较变量有两种方法:is和==,二者在含义上有着根本的区别。
-
is表示是否指向同一内存中的内容,a is b即id(a) == id(b) -
==表示二者所指向的值是否一致
In [4]: a=666;b=666
In [5]: a is b
Out[5]: False
In [7]: id(a)
Out[7]: 2641829890320
In [8]: id(b)
Out[8]: 2641829890640
In [9]: a==b
Out[9]: True
None 在 Python 语言中是一个单例对象,如果你要判断某个变量是否为 None 时,记得使用 is而不是 ==,因为只有 is才能在严格意义上表示某个变量是否是 None。
参考:
