Python中的对象包含三要素:id、type、value
其中id用来唯一标识一个对象,当我们使用is来进行判断两者是否相等时,就是使用其id值在进行比较
None is None
# True
a = 1; b = 1
a is b
# True
a = \"myX\"; b = \"myX\";
a is b
# True
a = 1.8; b = 1.8
a is b
# False
a = 3L; b = 3L
a is b
# False
a = 1+2j; b = 1+2j
a is b
# False
a = (1, 2); b = (1, 2)
a is b
# False
a = [1, 2]; b = [1, 2]
a is b
# False
a = {\"male\":1}; b = {\"male\": 1}
a is b
# False
https://gist.github.com/quietin/6ce45f460c31f6212f8d
python中一切都是对象,其中字符串和整数都是不可变对象,字符串存储在字符串对象池中,整数则存储在整数对象池。
如上代码所示,a和b均会指向\”myX\”所占的内存空间,所以其id值相同,a is b
为True
需要注意的是,整数大了也不行,整数is
成立的最大数在我的机器(ubuntu 64bit)上是256,257的时候就是False
上一篇:Python:字符串与正则表达式
下一篇:Python学习笔记