Python版本:win32上的Python 3.5.1(v3.5.1:37a07cee5969,2015年12月6日,01:38:48)[MSC v.1900 32位(英特尔)]。
>>> 256 is (2**8)
True
>>> 512 is (2**9)
False
UPD
>>> print(id(256), id(2**8))
1933723392 1933723392
>>> print(id(512), id(2**9))
60976880 60976704
答案 0 :(得分:2)
is
检查两个变量是否存储在的同一内存位置。以下说明这两个数字存储在内存中的不同位置:
>>> 512 is (2**9)
False
很可能,你真正想知道的是数字相等。为此,请测试相等性:
>>> 512 == (2**9)
True
None
None
没有任何明智的价值。因此,检查某些内容是否等于到None
通常没有用。要查明某个变量是否为None
,请使用is
:
>>> x = None
>>> x is None
True